/
'<!'
A Turning Point For Atari? '
Report From Tlie Winter Consumer Electronics Show ^
iW-^T-ft-
COMPUTE!
The Leading Magazine Of Home, Educational, And Recreational Computing
$2.95
April
1986
Issue 71
Vol, 8, No,4
S3 75 Conada (=»
02193 ^s*
iSSN01W-357X
New Technologies:
The Converging Digitql
Universe
Why Everything From
Computers & CD-ROIMs
To TVs & Satellites
Are On A Collision Course
Adding Power t
To ST BASIC
Valuable Techniques
For Atari Programmers
Apple Hi-Res Graphifs*
Mix, Flip, And Copy
High-Resolution Screens
64 Screen Genie
A Magic Method
For Character Graphics
t
AmigaDOS Batch Files
Take Control
Of Your Amiga
Atari FontMaker .
Design Your Own
Custom Characters ^"
jH
sSH
•
■
«
4
-
-
■
"7U86"02193'
(No I.D. required for half-elves.)
When the Going Gets Tough,
the Bard Goes Drinking*
Hnd the going is tough
. in Skara Brae town.
The evil wizard Mangar ,
has cast an eternal winter
spell. Monsters contro
the streets and dun-
geons beneath. Good
citizens fear for their
lives. What's worse,
there's only one tavern
left that serves wine.
But the Bard knows
no fear With his trusty
harp and a few rowdy
minstrel songs he claims
■i;i;-.«T Hit 8C «m
n»-
are magic, the Bard is ready
to boogie. All he needs is
a band of loyal followers:
a light-fingered rogue to
find secret doors, a
couple of fighters
to bash heads, a con-
jurer to create weird
allies, a magician for
magic armor
Then it's off to com-
bat, as soon as the Bard
finishes one more verse.
Now what's a word that
rhymes with "dead ogre?"
Vr^5z Pny y.s-j
4 classes of magic user, including
wizard and sorcerer. 85 new
magic spells in all.
,tva\«llld
128 color monsters, many
animated. All challenging.
The Bard's Tale
from
Full-color scrolling dungeons.
16 levels, each better than the
one before. 3-D city, too.
ELECTRONIC ARTS'-
Specs, 100% machine Unfjuage, 400K wonh on 2 disks. 64K RAM minimum; enhanced for 12«K. Now available for Appk- II family for S44 95. C-64 & 128 for 539 95
To orden Visit your rclailir or call (800) 227-6703 (In Calif call (800) 632-797'Jl for VISA or M.isrcrCard ordt-rs. To purchas.- hy mail, send check or monev order to ticctronic
Arts P.O Box 306. Half Moon Bay. CA 94109, Add S3 for insured shipping and handline. Allow 1-4 weeks for delivery The Bards Tale us worth ihe wair
Apple ,s a trademark of Apple Computer. Wizardry is a rocistered trademark of Sir-Tcch Soft^^'ate, Inc Ultima is a registered trademark of Richard Gtirnott, The Bard sTale and
Electronic Arts are trademarks of Electronic Arts. For a copy of our complete catalogue and direct order form, send S.50 and a stamped, self-..ddressed envelope to Eleclrontc
Arts, 2755 Campus Drive, San Mateo CA 94403.
-*!;>:
We dorit care
which computer you own
Bm Well help you «|
get the most out of it.
'Smimf^"
CompuServe puts a worJd of information, communications, and entertainment at your flngertips.
see your nearest computer dealer. To
receive our informative brochure or to
order direct call or write:
CompuServe^
Consumer Information Service. P. O Box 20212
5000 Arlington Centre Blvd . Columbus, OH 43220
800-848-8199 in OhloCall 614-457-0802
An H&R Block Company
CompuServe is the world's largest
information service designed for the per-
sonal computer user and managed by
the communications professionals who
provide business information services to
over one quarter of the FORTUNE 500
companies.
Subscribers get a wealth of useful,
profitable or just plain interesting infor-
mation like national news wires, home
shopping and banking, travel and sophis-
ticated financial data. Plus electronic
mail, national bulletin boards, forums
(special interest groups), and a multi-
channel CB simulator.
You get games and entertainment, too.
Board, parlor, sports, space and educa-
tional games. Trivia and the first online
TV-stjde game show played for real prizes.
To buy a CompuServe Subscription Kit
Free software from Electronic Arts!
It's easy!
Buy any of these 12 smash hits from your participating dealer between February 1, 1986, and
May 31, 1986. Then just mail in your proof of purchase, $5 for shipping and handling, and the
official "Get One Free" coupon. So what are you waiting for?
In case of emergency. . .
If you can't find a participating dealer, you can order direct from us by telephone or mail.
Just call toll-free 800-227-6703. In California call 800-632-7979. Have your Visa or MasterCard
number ready. Just tell us what you want to buy, and what you want for free. It's simple. And
there's a 14-day "satisfaction or your money back" guarantee on all products ordered direct.
In case your pamdpanng dealer runs out of "Get One Free" coupons, use ihis.
n Yes! I want free software from Electronic Arts!
n No thanks. I'm using my computer as a doorstop.
(Check one)
Apple
11, II+, //c. //e
DDr.J.&. Larry Bird
Go One-On-One
D Archon
D Financial Cookbook
n Music Construction Ser
n Pinbal! Construction Set
D Seven Cities of Gold
D Arclion 11 : Adept
n Movie Maker
Commodore
64 & 128
Atari
400-1200 series
nDr.J.&. Larry Bird
Go One-On-One
n Archon
D Financial Cookbook
D Music Construction Set
D Pinbal) Construction Set
D Seven Cities of Gold
D Archon II . Adept
D Movie Maker
DM.U.L.E.
D Realm of Impossibility
D Mail Order Monsters
D Racing Desi*uction Set
D Dr. J. & Larr>- Bird
Go One-On-One
n Archon
D Financial Cookbook
D Music Construction Set
n Pinball Construction Set
n Seven Cities of Gold
D Archon II : Adept
n Movie Maker
DM.ULE.
D Realm of Impossibility
IBM
PCjr, PC, & comp.
D Dr J. & Larry Bird
Go One-On-One
D Archon
n Financial Cookbook
D Music Construction Set
n Pinbail Construction Set
D Seven Cities of Gold
Please send my free software to the following address. 1 have enclosed the required Proofs of Purchase and $5 (check
or money order payable to Electronic Arts) to cover the cost of shipping and handling ($7 Canadian),
PLEASE PRINT
Name
Address
City
Phone
J_
State
Zip
SiETiaruTe ^ : ^" "
Proof of Purch.iM' Si-nd us ihe fiillowinn iwn irL-mM II thi- dait-d cash n-uislt-r Inpt- nr rcn-iri showini; the rrodufl vuu purchnsi-d, and 21 find the Command
Summary <>t Ri?f<?rcnri- Card insidi- ihc piickafii- ytiii purchased. Cut off ihc pan numhor on ihf Kick. UmtT-k-ft-hand mJi' of the card, or [he product namu fnmi
ihc from of the card Send [hesL' two ili-ms and $5 for shipping and h.indMnn 1 57 Canadian). alon|! wilh ihc coupon, to Electronic Arts, "Buy 1, Get 1 Free"
P. O. Box 7530, San Mateo, CA 94403. This offer CKpires May 51, IWt. Oprn lo rosidents of thi- USA. isnd Caiiad-I ™tv Only tk- produi-n liMt-d an' .ivailabk-
for this promotion No subsiirutions \\ill he accepted.
Li
(no dogs included . . .)
Let's face it. Buying home software can be a risky proposition. Good software costs a lot of money.
Cheap software practically rolls over and barks. But look at this.The titles listed below are Electronic Arts'
greatest hits. They've all scored on the "top twenty" best-seller charts. Between them they've won over 60
product quality awards — making them the most honored products in the home software industry.
Best of all, there's no longer any reason to swallow hard when you think about
treating yourself to quality software. Because now you can:
Buy 1, Get 1 Ftiee.
DR. J. &. LARRY BIRD
CO ONE-ON-ONE"
The bfst-selliiiK computer sports
simulntion nf .ill [ime.
"Came tif thi: \t:ur"- EL'tsirnrut: Gamc'i
Appli- ''/ familv. C-M & 128,
Alari. [BM PQr, PC. and comp.
PINBALL
CONSTRUCTION SET'
Build your own vrdt-i^ pinhall tjnmcs
' Bf-U Gfimt' Ct-ntTiHuT" - Jfi/dutir/d
Apple // fomily. C-e4 & 128, Atari.
IBM rCjr. PC. antJ ctimp.
MUSIC
CONSTRUCTION SET"
Composiiitin for anyone u-ho c.in
pi^int n inystick.
"Bt'sf Music" GentTUtor'" — /n/ouor/J
Apple // family, C-6-( & 128. Atari.
IBM PCjr, PC. and comp.
RACING
DESTRUCTION SET"
Land mines, nil slicks, anim^ited
spin-DU!s, collisions anJ crashes.
". . the ultimati- racing gann?. ..""
— Computer EnteTwncr.
C-64 & 128.
SEVEN CITIES OF GOLD"
Pl.iy Conquisr.idi^r in rhis ctlucnrionnl
adventure of history and ^eogrnphy,
"Best Ro/f-P/fl^imjj AdveniuTc'
~ Family Cniti^Htinj^
Apple // famiiy, C-t^ &i 128. Atari.
IBM PCjf. PC. :ind c.mp.
ARCHON'"
Like chess with arc.ndc Kirrle action
"Came of the Year"
— Cyenuv^ Computing
Apple // family, C-64 &t 128. Atari.
IBM PCjr. PC. and comp
ARCHON II: ADHPT"
Grnduate school for Archun nddicrs.
Even rrvore sirnteKV nnd mafjjc.
"Best Strategy/ Arcddi: Gdmt-'
— Rimily CompLtiiTlR
Applt // family, C-64 ik 128. Atari.
MAIL ORDER MONSTERS™
Nen'. UVc ;in Archon
Construction Set!'
"Belt CoJiUniclion Set"
- Fjmil> Computmg
C-64 & 128.
MOVIEMAKER"
Create your own hi^h-qualiiy
animniej mo\ie,s.
A inasfi'Tpieitt'"
- Crt'iiinii- Cimif>M(in^'
Apple // family. C'64 & 128. Atar;
REALM OF IMPOSSIBILITY"
Aciion and adventure jn 3 world nf
Escher-likf iJIiisinns Includes a unique
2-player conper.iTivc mode
C-64& 128. Atari.
m,l;.l,e."
The best multi-pLiyfr computer game
of all timc-
■■fifsf Snn\£gy Game'- Infou-arld
"Best Muhi'Player Game"
- Efetirflntc Games
C-64& 128, Arari.
FINANCIAL COOKBOOK''
Take ct>n:rol of your personal finances.
Like a calculator, spreadsheet, and
financial advisor combined.
Apple// family. C'64 & 128.
Atari. IBM PCjr. PC. and comp.
0.d.r M„„.„, „d R„c,„. D„„„c.™, S., ... J>^X.27jl'o[Z",^TAt *'""■ """" "''" " ^ •■ "^ ""'■" "f '"'r<"..h,hty. Ma,l
ELECTRONICARTS
Elementary Amiga BASIC
C, Regena
0-87455-041-6. $14.95
Disk $15.95
Elementary ST BASIC
C. Regena
0-87455-034-3, $14.95
Disk $15.95
BASIC
programming
at its best!
Two new
programming
guides from
COMPUTE! Boolcs.
Written by llie autlior of tlie bestseliing Programmer's Heference Guide to the TI-99/4A, tliese books
introduce you to ttie new and powerful BASIC on the Amiga and Atari ST personal computers. The
computers' impressive graphics, animation, and sound can be unlocked with the right commands, and
BASIC is the place to start. Regena sliows you how— in the clear, concise language that's made her
such a popular writer.
Complete descriptions of the Amiga's and ST's BASIC commands, syntax, and organization take
you from novice to full-power programming. Sample programs and subroutines, all ready to type in, are
included. Plus, both books offer you working software while showing you how to write your own
programs. A disk is also available for each book which iociudes all the programs from the book m an
easy, ready-to-ioad format.
SPBOAL COMBtNATION OFFER
Order the book and (Ssk together lor only $29.95!
You'll find these new programming guides and many more useful, entertaining COMPUTE! books at your local computer and book
stores. Or you can order directly from COMPUTE! Books.
For the fastest service, call toll free 1-800-346-6767 (in NY 212-887-8525). Or mail the attached coupon v/ith your payment to
COMPUTE' Books, P.O. Box 5038, F.D.R. Station, New York, NY 10150.
Please add shipping and handling charges to all orders: In U.S., S2.00 per book, disk, or combination package; $5.00 per item airm^l.
r"
I want the best in BASIC progfamnilns guides. Please send me:
ElBmentary ST BASIC, (034-3), $14-95 each
Etementary ST BASIC Dtak. $15.95 each
Eltmwtary ST BASIC disk and book combination, $29.95
Elemmary Amiga BASIC, (041-6), $14.95 each
Elemantary Amiga BASIC Dl»k, $15.95 each
' Elarmntary Amiga BASIC disk and book combination, (057-2), SZ9.9&
Sublolal
NC resldftntt add 4.5% soles lax
All OfiOERS
MUSTBt
PWPAID IN
U.S. fUNDS
Shipping charges
(S2.00 per Mom In U.S. and surtaco man;
S5.00 pef Item alnrvall)
Total amount enclosed
D Payment endosed (check or money order)
D Charge D MasterCard DVisa D American Express
Account No.
Exp. Date .
(RWuired)
Name
Address .
City
Zip.
I State '~~ 36412112 I
LAIloiv 4-6 weeks (of delivery. _______^— — ^^— ^— ^— ^— ■~~~~"~~'^~" ~~^
COMPUTE! PublicotionsJnc.^
Port of ABC CoosLmer h/as^ozmes. Jnc
Ooe of the ABC PuDhsTung CooipOi^ei
825 ?*h Avenue, fith Fioor. Mew VOft, NV 10015
(XJMPUTE' books are available in the U.K., Europe, the Middle East and Africa from
SSeS.. 1 St. Anne's Road. Eastbourne, East Sussex BN21 3UN, England
mi in Canada from Mc(3raw-Hill. Ryerson ua.. aoo r,.,.... >^ «r.rhorouQh,
Ontario, Canada MIP 2Z5.
COMPUTE
APRIL 1986
VOLUME 8
NUMBER 4
ISSUE 71
FEATURES
20 New Technologies: The Converging Digital Universe . .
30 A Turning Point for Atari?
Report from the Winter Consumer Electronics Show
42 Tug-a-Wor
Seiby Boteman
. Tom R, HaifhiJi
. . . Mark Tuttie
GUIDE TO ARTICLES
AND PROGRAMS
64/128/AT/AP/AM/
PC/PCJr/ST/TI
REVIEWS
51 Silent Service Neil Randall
52 DeluxePainf for Amiga Lee Noel
58 S'More for Commodore 64 Art Hunklns
60 Heart of Africa Neil Randall
65 Hacker Todd Heimarck
65 MasterType's Writer for Apple
66 HabaWriter for the Atari ST . ,
Stephen Levy
George Miller
64/1 28/AP/AT/PC/PCjr
AM
64
64/128/AT/AP
64/128/AP/AT/
PC/PCjr/AM/ST/Mac
AP
ST
COLUMNS AND DEPARTMENTS
6 The Editor's Notes Tom R. Halfhill
10 Readers' Feedback The Editors and Readers of COMPUTE!
19 HOTWARE
110 The World Inside the Computer: The Robot Inside You Fred D'IgnazIo
1 1 1 Computers and Society:
Humanizing the User Interface, Part 2 David D. Thomburg
112 The Beginner's Page: More String-Slicing Tom R. Halfhill
113 Telecomputing Today: An April Trade Show Report Arlan R. Levitan
1 14 Programming the Tl: Creating Rhythms C. Regena
116 IBM Personal Computing: Two Checkers and a Manager Donald B. Trivette
117 INSIGHT: Atari— Binary Files, Unite! Bill Wilkinson
Tl
PC/PCjr
AT
THE JOURNAL
68 Loading and Linking Commodore Programs, Part 2 Jim Butterfleld
71 Adding System Power to ST BASiC, Part 1 Kevin Mykytyn
74 Mousify Your Applesoft Programs, Part 2 Lee Swoboda
79 IBM Variable Snapshot Tony Roberts
82 Atari Textdump Ralph Johnson
83 AmigaDOS Batch Files Charies Brannon
86 Apple Disk Duper Jason Coleman
87 Smooth-Scrolling Billboards for IBM Paul W. Carlson
89 Commodore 64 Screen Genie James A. Ledger
94 Screen Saver 64 Stephen E. Masters
97 Atari FontMaker Charies Brannon
102 Hi-Res Graphics Aid Routines Jon Hylands
104 Commodore 64 Key Phantom Melvin Baker
107 Screen Clock for IBM Marc Sugiyama
109 CAPUTEI Modifications or Corrections to Previous Articles
1 1 9 News & Products
121 MLX: Machine Language Entry Program for Atari
123 MLX: Machine Language Entry Program for Commodore 64
125 COMPUTEi's Guide to Typing In Programs
128 Advertisers index
TOLL FREE Subscription Order Line
800-247-5470 (in lA 800-532-1272)
64/128A'IC/-F4/16
ST
AP
PC/PCjr
AT
AM
AP
PC/PCjr
64/128
64/128
AT
AP
64/1 26
PC/PCjr
NOTE: See page 125
before typing In
programs.
AP Apple. Mae Moclatosh. AT
AtQrt. tT, AtQrt ST, V VK:-20. 64
Commodore 64. +4 Commodore
Plus/4. 16 Commodore 16. lit
Commodore 128, P PET/CBM. Tt
Texas Instruments. PC IBM PC, PCjr
IBM PCjr. AM Amiga. 'General
Inferesl.
COMPUTE! Publicat!onsJnc.@
Part of ASe Contumar Magozlnat, Inc. ^^
Ona of ttiB ABC Publltliing Cotnpanlvt
ABC Publishing. President. Robert G. Burton
1330 Avenue of the Americos. New York. New YorV 10019
COMPUTEI The Journal for Progressive Computing (USPS: 537250) is published monthly by
COMPUTE! Publications, Inc., 825 7th Ave,, New York, NY 10019 USA. Phone; (212) 265-8360,
Editorial Offices are located at 324 West Wendover Avenue, Greensboro, NC 27408, Domestic
Subscriptions; 12 issues, $24, POSTMASTER: Send address changes to: COMPUTB Magazine, P.O.
Box 10955, Des Moines, lA 50950. Second class postage paid at Gi^nsboro, NC 27403 and addi-
tional mailing offices. Endre contents copyright ©1986 by COMPUTEI Publications, Inc. All rights
reserved, ISSN 0194-357X.
Editor's Notes
COMPUTE! Editor Tom Halfhill contrib-
utes an editorial this month.
— Robert Lock, Editor in Chief
The latest-generation personal comput-
ers present the best evidence to date
that miCTOcomputers are evolving into
desktop mainframes. Megabytes of
memory, hard disk drives, high-speed
processors, and multitasking operating
systems are no longer limited to the
monster machines locked away in the
data processing departments of govern-
ments and big corporations. Now you
can get these features in a personal
computer that costs less than $2,000
and fits comfortably on a desktop.
But why would you want to? After
all, many people are questioning why
anyone needs any kind of computer in
their home. Are the new machines just
a more blatant example of technological
overkill?
Practically everyone who's ever
used a computer understands the value
of more memory and mass storage,
high-speed processing, and faster input/
output. All those things translate into
more horsepower, and if the price is
right, we'll welcome more horsepower.
But one feature that some people are
regarding with skepticism is multitask-
ing— the ability to run more than one
program at a time. Is it really practical
to run a spreadsheet and a word proces-
sor simultaneously? Even if the com-
puter can do two things at once, the
user probably can't.
This criticism overlooks several ad-
vantages of multitasking: its conven-
ience, the way it shifts busy work away
from the user and onto the computer,
its implications for software design, and
its future applications in tomorrow's
homes.
It's hard to appreciate the sheer
convenience of multitasking until
you've experienced it. Even if you
aren't actively using two or more pro-
grams at once, you can keep them load-
ed in memory, available at the press of
a key or click of a mouse button. For
instance, you can type a letter with a
word processor, switch to a terminal
program to upload it to an electronic
mail service, then switch to BASIC to
finish a program you've been writing.
On most home computers, that would
require rebooting the machine several
times, swapping disks, running differ-
ent programs, and waiting.
Multitasking can also spare you
some drudgery by letting the computer
do the tedious jobs. If you log onto a
commercial information service to
check stock quotations every evening,
you can set up the computer to do this
for you automatically — even while
you're using the machine for something
else in the meantime. Multitasking is
something that's hard to do without
once you've had it.
Multitasking also lets you create
your own integrated software pack-
ages. You can buy whatever word pro-
cessor, graphics program, spreadsheet,
and terminal program you want and
load them all into memory at once. If
the computer supports a standardized
file transfer protocol — as do the Macin-
tosh and Amiga — you can cut and paste
pictures or spreadsheet tables into doc-
uments created with the word processor
and so forth, even if the programs were
made by different software companies.
Finally, there are exciting possibili-
ties for multitasking in the future. Re-
member that microcomputers are
following the paths established by
mainframes; it's a small step from multi-
tasking to multiuser processing. If a
computer can run several programs at
once in windows on a single screen,
why not turn those windows into sepa-
rate screens and put them in different
rooms? We know from our mail and
readership surveys that many of you
are already multicomputer households.
Mom and Dad have a computer in the
study, and the kids have one or two in
the family room or bedroom. Someday
you'll be able to buy a single personal
computer with enough brute force to
drive several terminals throughout
your home. Each terminal will be as
powerful and seemingly as indepen-
dent as today's personal computers, yet
the system will be economical because
you'll all share the same printer, modem,
hard disk drive, and CD-ROM player.
The main disadvantages of multi-
tasking— the amounts of memory and
processing time it can gobble up — are
temporary annoyances. Memory chips
are getting cheaper as fast as micro-
processors are growing more powerful.
Atari recently introduced the first
1024K computer for under $1,000, just
five years after an 8K Atari 800 retailed
for $1,000. And Motorola recently an-
nounced a 20 megahertz version of its
68020 microprocessor, referred to as
the "mainframe on a chip."
It seems that the only real problem
to be overcome is the incredible com-
plexity of vrating and debugging a true
multitasking operating system. Ask an
IBM owner about all the popular Side-
kick-type, co-resident programs that
compete for the attention of DOS inter-
rupts and the keyboard. Or ask an
Amiga owner about the weird things
that can happen when the computer
tries to do too much at once. (In fact,
one of the strangest things we've seen
on the Amiga is something that can be
described as a "half crash." On practi-
cally any other computer, a system
crash is a system crash — the machine
locks up and you have no choice but to
reboot. On the Amiga, we've managed
to crash part of the computer while the
other part struggles valiantly onward.
You end up rebooting anyway just to
play safe, but it's an interesting demon-
stration of multitasking.)
Essentially, multitasking gives you
the near-equivalent of several comput-
ers in a single box. And if the box is
priced right and meets your other re-
quirements, why walk when you can
run?
Tom R. Halfhill, Editor
6 COMPUTEI April 1986
V YOU CAN HND
A BETTER PROGRAM
WEUBUYITFORYOU!
WORD WRITER a.%kir
Now wMi 85,000 word Spelling
Checker
• An efficient, 80-column professional
word processing system which includes
a spelling checker and built-in
calculator.
■ Contains all the features you'll need for
everyday word processing, plus most of
the sophisticated features found in
more expensive programs: document
chaining, form letter printout, page
separations, horizontal and vertical
scrolling, and more.
With Timeworks you get more
power for your dollar
You can use each program alone. Or
interface this trio - one at a time if you like
- info a completely integrated productivity
system that delivers all the power and
features most of you will ever need ... at
a cost that lets you enjoy their use.
Look for these and other Timeworks pro-
grams at your favorite dealer. Or contact
Timeworks, 444 Lake Cook Road, Deer-
field, IL 60015. Phone: (312) 948-9200.
DATA MANAGER 2
Foster, more efficient, more
versotiie
• A complete general information storage
and retrieval system with report-writing,
graphics, statistics, and label-making
capabilities.
• Exclusive X-SEARCH, X-SORT, and
X-CHART features allow you to cross-
search any category of information; sort
items alphabetically, numerically, or by
date; break down statistical information
into categories; and graphically view
your results.
With Timeworks you get more
than softwore
You Get Our Customer Technical
Support Team
At the other end of our loll-free hotline,
you'll find our full-lime Customer Techni-
cal Support Team. Free of charge to all
registered users.
You Get Our Liberal Trade-Up Policy
You'll find the details inside each package.
SWIFTCALC -'^^ SIDEWAYS
New eosy-to-use soreadsheet
for home and small business use
• The SIDEWAYS option lets you print
all your columns on one, continuous
sheet . . . sideways.
• 250 rows and up to 250 columns (128K
version) provide up to 62,500 cells
(locations on the spreadsheet) in which
to place information.
• Performs mathematical functions up to
17 digits. Allows the use of minimum
and maximum values, averages, sums,
integers, absolute values and exponen-
tial notation,
* With Timeworks you get our
Money Bade Guarantee
If you can find anything that works better
for you, simply send us your Timeworks
program, your paid receipt, and the name
of the program you want, along with your
check or credit card number for any retail
price difference. If it's available, we'll
buy it lor you."
For Apple,
Commodore 128 (128K)
& Commodore 64
Computers
More power for your dollar.
" Offer va6d (or 90 days irgm dale ot puichase.
■•' SegtacfesJ Irsdemarts of Appfe Compuler. Inc., IntanilicinaJ ausinsss Maclines Cwporalmi. aid
Coffimodofe Compulef Systenls
t 1985 Tmevnyks. tnc All nghs reSBvat.
Other Timeworks Programs:
• The Evelyn Wood Dynamic Reader
Sylvia Portef's Personal Finance Series
■ Swiftax ■■■ Cave of the Word Wizard
E Business Systems ■ Wall Street
The Electronic Checkbook
■ The Money Manager
Publlshof
Founder/Editor In Chlel
Senior Edlfor
Monaging Editor
Executive Editor
Jomos A. Coseila
RoOerl C. Lock
Richord Monsfleld
KaJfvleen Martinek
Selby Batsman
Editor
Assistant Editor
Production Director
Production Editor
Editor. COMPUTEI's GAZETTE
Technicol Editor
AsslslonI Tect^nlcol Editors
Program Editor
Asslslont Editor. COMPUTEfs
GAZEHE
Assistant Features Editor
Progromming Supen/lsor
Edllorlol Programmers
Researcti/Copy Editor
Copy Editor
Submissions Reviewer
Programming Asslstonts
Executive Assistant
Admlnlslrallve Assistants
Associate Editors
Contributing Editor
Tom R. Holfftill
Ptillip Nelson
Tony (Joborls
Soil Cowper
Lance Eiko
Otiis 15. Cowper
John Krouse. George h/liller
Ctiartas Brannon
Todd Hoimorck
Kothy Yakol
Patflck Porflsh
Tim Victor. Kevin Ivlykytyn
Joon Douleau
Ann Dovies
Ivlofk TuTtle
David Florance. Dcvid
Hensley
Debi Nash
Julia Fleming, iris Brooks. Mory
Hunt. Sybil Agee
Jim Butterfield
Toronto. Canada
HOEvey HemKsn
Greensboro, NC
Fred O'lgnozio
Roanoke. VA
David Thornburg
Los Altos, CA
Bin Wilkinson
COMPUTEI's Book Division
Ecfllor
Assistant Editor
Dlroctof. Book Sales &
Morkeling
Stephen Levy
Gregg kelier
Steve Voyatzis
Production Manager
Art & Design Director
Assistant Editor. Art &
Design
MechanScQl Art Supervisor
Artists
Typeseltlng
Illustrator
Irma Swain
Jank:e I?. Fary
Lee Noel
De Potter
Debbie Bray. Dabney Ketrow
Terry Cash. Carote Dunton
Harry Blair
Director ol Advertising
Sales
Production Coordinator
Ken vyoodard
Katriieen Honion
Promotion Asslstoni
Ccroiine Dark
Customer Sen/Ice Manager Diane Longo
Dealer Soles Supervisor Orchid Tamoyo
individual Order Supervisor Judy Toyior
Receptionist Anita Armfieid
Warehouse Manager JoHn Wiiiioms
Data Processing Monoger Leon Stokes
James A. Coseila, President
I? Steven Vetter. Vice President. Finance and Planning
COMPUTE' Publicotions. Inc. pui3iishes:
coMPure
COMPUTE'S
COMPUTEI Books
COMPUTE'S
mM^m^TM DISK
COMPUTEI'S
Apple Applications Special
Editorial offices:
Cotpotdte offices:
Customer Service:
324 West Wendover Avenue
Suite 200
Greensboro, NC 27408 USA
925 7th Avenue
New York. NY 10019
212-265-8360
800-M6^i767
(inlNV 212-887-3526)
Coming In Future Issues
Two New Coiumnsi
For Atari ST
And Amiga
Hickory Dtckory Dock:
Teaching Kids To Tell Time
For Commodore, Atari, ST,
Amiga, Apple, PC/PCjr
Commodore Auto-Boot Maker
Custom Characters
For Atari SpeedScrfpf
Add System Power
To Atari ST BASIC, Part 2
Amiga Puzzle;
An Amiga BASIC Application
Windows On The Commodore
12B
Amdit Bamn
of drcnlttloiu
ITI'A
KtsufrKF\iblhrKisAs&«iaLion
Subscription Orders
COMPUTEI
P.O. Box 1 0954
Des Moines, lA 50340
TOLL FREE Subscription Order Line
800-247-5470
InIA 800-532-1372
COMPUTEI Subscription Rates
(12 Issue Year):
us (one vr) S24
(two yrs.) $45
(tfiree yrs.) $65
Canada and Foreign
Surface Mail $30
Foreign Air
Delivery $65
Advertising Sales^
1. N«w England
John SavaT
Eastern Advertising
Manager
212-315-1665
2. Mid Atlantic
John Sovoi
Eastern Advertising
Manager
212-315-1665
3. Southsott & For«lgn
Harry Blair
919-275-9809
4. Midwest
Gordon Benson
312-362-1821
5. Northwest/
Mountain/Texas
Plioebe Thompson
Dani Nunes
406-354-5553
6. Southwest
Ed Winchell
213-378-8361
Director of Advertising Sales
Ken Woodard
COMPUTE! Home Office 212-687-8460
Address all advertising materials to:
Kathleen Hanlon
Advertising Production Coordinator
COMPUTEI Magazine
324 West Wendover Avenue
Suite 200
Greensboro, NC 27408
Trie COMPUTE! suOscfiber iist is made ovaiioble to caelully screened orgonlzations with a product or service which
may be ol interest to our readers. If you prefer not to receive such rr^oilings. please send an e*act copy of you:
subscription label to; COMPUTEI PO. Box 1CWS5. Des Moines. iA 50950, Include □ note indicating your preference to
receive only your subscription.
Authors of manuscripts warrant that all materials submitted to COMPUTE! are original moteriais with full ownership
rights resident in said outhors. By submittng articles to COMPUTE!, authors acknowledge that such moteriais. upon
acceptance for publication, become the exclusive property of COtvlPUTEl Publicotions. inc. No portion of this maga-
zine may be reproduced in cny form without written permision from the publisher Entire contents copyrigrit ® 1 986.
COtilPUTE! Publications. Inc. Rights to programs developed and submitted by outhors ore explained in our outhor
contract Unsolicited materials not acceoted tor pubiicotlcn In COMPUTE! will be returned If author provides a self-
addressed , stamped envelope Programs (on tape or disk) must occompony each submission . Pnnted listings are op-
tional, but helpful. Articles should be furnished as typed copy (upper- ond lowercase, please) with double spacing
Each page of your article should bear the title of the Oftlcle. dote and name of the author COf/PUTE' assumes no
liabJIty for errors in articles of odvertisemenfs. Opinions expressed by authors are not necessarily those of COMPUTE!
PET. CBM. VIC-20 and Commodora M are tradamorks ol Commodore ATABI Is o trodemorlr of Atari, he.
Business fv^achines. Inc. and/or Commodore Electronics Limited TI-W/4A is Q t[ademon4 of Texqs Instruments, Inc.
Aople is a troderrio-'k of Apple Corhputer Company fJadio Stiack Color Computer s o troderrxsrit of
IBIVl PC and PCjr are trademarks of IntemotiDnal Business Machines. Inc. Tondy. Ihc
Discover the thrill of
flying!
With COMPUTE! Books' __
40 Great Flight Simulator Adventures
•Maneuver around the towers of the Vtorld Trade Center.
•Sightsee the Hudson River.
•Practice night flying and aerobatics.
>Vpf
40
GREAT
^FLIGHT
SIMULATOR
ADVENTURES
ma al ow Mioiotertan, nffn n^i.
04 dfocHIKii Knmgt IMmg. amariaa
40 Great Flight Simulator Adventures
Charles Gulick
Forty exciting, customized flight simulator scenarios put you in the
pilot's seat as you fly over bridges, around skyscrapers, and land
at mysterious airports. Flight Simulator (IBM PC) and Flight Simu-
lator II (Apple II, Commodore 64, Atari) are two of the most popu-
lar games/ simulations for personal computers. With this book, you
can experience flight adventures from the moment you load the
program. Parameters set up each flight and a running commentary
describes what you'll see (and where to took to see it). Ranging
from the simple and straightforward to the advanced and even
mystical, these 40 flights will open a new dimension to an already
outstanding program.
»9.95 ISBN 0-87455-022-X
Mote; Flight Simulator from Microsoft Corporation and Hight Simulator II
from Sublogit Corp. are required in order to use this book. The t>ook is
designed to enhance the programs.
Please send me
(ISBN No. 0-87455-022-X)
All orders must be prepaid in U.S. funds.
Subtotal
NC residents add 4.5% tax
$2.00 shipping and handling
charge per book.
Total amount enclosed
copies of 40 Great Flight Simulator Adventures at $9.95 each.
To order this exciting adventure guide, mail
the attached coupon with your payment to
COMPUTE! Boolts, P.O. Box 5038,
F.D.R. Station, New York, Ny 10150. Or call
toll free 1-800-34&6767 <ln NY 212-887-8525.)
D Payment enclosed (check or money order)
D Charge D Visa D MasterCard D American Express
Name
Address ,
City
, State .
.Zip.
Please allow 4-6 weeks for ddivery.
36402211
COMPUTE! Publicatbnsjnc.® St
One of ine ABC Publishing Companies ^^^ EastI
COMPUTE! books are available in the U.K., Europe, the Middle
and Africa from Holt Saunders, Ltd., 1 St. Anne's Road,
Eastbourne, East Sussex BN21 30N, England.
Readers Feedback
fhe Editors and Readers of COMPUTE!
// you have any questions, comments, or
suggestions you would like to see ad-
dressed in this column, write to "Readers'
Feedback," COMPUTE!, P.O. Box 5406,
Greensboro, NC 27403. Due to the volume
of mail we receive, we regret that we
cannot provide personal answers to tech-
nical questions.
Relocating Machine
Language
I would like to combine two Commo-
dore machine language programs that
both reside at location 49152 ($CO0O). I
know that BASIC lets you relocate pro-
grams quite easily, just by moving the
bottom-of-BASIC pointer upward.
How is this done with ML programs?
Richard Sands
Machine language programs written for a
6502-based computer are usually quite
difficult to relocate. For instance, say that
you have an ML program at $C000 which
starts with these instructions:
LDA $C030,X
JSR SC200
JMP $C400
None of these instructions can be
relocated unless you change the address
contained in the instruction itself. The
first (LDA $C030,X) retrieves one byte of
data from a table beginning at location
SCOiO (note thai the data lies within the
program code). The JSR instruction works
like GOSUB in BASIC, so JSR $C20Q goes
to a subroutine located at SC200 and then
returns. JMP works like GOTO in BASIC:
JMP SC400 sends the computer straight to
the segment of code located at SC400.
Now say that you move the entire pro-
gram down to location $8000. The in-
struction JSR $C200 still sends the
computer to $C200, but that address isn't
within the program any more. To make
the code work correctly at $8000, you'd
have to change these three instructions to
the following:
LDA $8030,X
JSR $8200
JMP $8400
That's not particularly difficult, and
some machine language monitors even
have a special command to make such
adjustments automatically. However, you
must be careful not to change addresses
that refer to locations outside the
program:
JSR $FFD2
This instruction calls the standard
Commodore print-a-character routine, lo-
cated in the computer's ROM. If you mis-
takenly adjust this address along with all
the internal address references, the result
may be disastrous. Now let's look at a
more difficult case:
LDA ($FB),Y
This instruction uses the powerful
and very common indirect Y addressing
mode, which refers irtdirectly to an ad-
dress held in two successive zero page
addresses (locations $FB-$FC in this case).
There's no way to tell by looking at this
instruction alone whether it refers to an
area inside the program (and hence re-
quires adjustment) or something external
to the program code (in which case adjust-
ment may be a mistake). You'll have to
disassemble the program in its entirety,
looking for other instructiojis that affect
the contents of locations $FB-FC, either
directly or indirectly. If this instruction is
part of a general-purpose subroutine, you
may find that it's called by many different
parts of the program. Since free zero-page
space is limited, you may also find that
other subroutines re-use locations
$FB-FC for an entirely different purpose.
And while it's obvious that an instruction
like STA $FB affects the contents of $FB,
what about ROR $03,X or STA ($BO),Y?
Those instructions might just as easily
change the address held in $FB-FC.
Once you've sorted out all the indi-
rect addressing, you'll need to check for
self-modifying routines — code that
changes its own instructions while it rutis.
When that's done, you'll have to interpret
all the program's data and variable areas.
For instance, say that you find the follow-
ing hexadecimal values in a memory
dump of the program code:
93 05 20 a 54 OD 41 43
These bytes could be virtually any-
thing—sprite shape data, characters for a
printed message, part of an internal dis-
patch table, preset values for a bunch of
unrelated variables, or even garbage that
will be replaced with something meaning-
ful when the program runs. While some
programmers locate data areas at the end
of the program, others sprinkle data and
variables freely throughout the code. Un-
til you find out exactly what purpose these
bytes serve, there's no way to tell whether
they need adjustment. This problem, more
than any other, makes it impossible to
write an "automatic ML relocator" that
works correctly in every case. The reloca-
tor would need to have as much intelli-
gence as a knowledgeable ML programmer
who thoroughly understands the subject
program.
These problems generally don't apply
to 68000-based computers like the Amiga,
Atari 520ST, and Macintosh. Since the
computer tiormally decides for itself
where to load the ML code, most 68000
ML programs must be relocatable. That's
no great hardship for programmers, since
the 68000 instruction set includes many
relocatable instructions.
T28 Atari Colors
Here is a machine language program
that allows your Atari computer to dis-
play 128 colors at the same time. The
program displays a different color on
each horizontal display line.
10 FOR 1=0 TO 21:REflD A;P
OKE 153i+I , A: NEXT I
20 POKE 7S2,1;PRINT CHR»<
125) : A-USR ( 1536)
30 DATA 173,11,212,201,32
, 20B,249, 141, 10,212, 14
2,24,208, 232,232,2 08,2
46, 142
40 DATA 24,208,240,232
David Boyer
Thank you for the example.
Using Preview-80 With 64
SpeedCalc
I own a Commodore 64 and look for-
ward to getting new programs from
COMPUTE! each month, especially utili-
ties. After typing in SpeedCalc (com-
pute!, January 1985), I was pleased to
find that the "Preview-80" program
(COMPUTE!'s gazette, November 1985)
works just as well with SpeedCalc as it
does with SpeedScript. This lets you pre-
view a SpeedCalc file in 80-column for-
mat on the screen before printing it out.
The procedure for using Preview-80 is
the same as usual. First, load Preview-
80 with LOAD"PREVIEW80",8,1.
Then type NEW, and load SpeedCalc as
you would normally. Instead of typing
10 COMPUTEl April 198(:>
WINTER games: ^
TI||4)UEST FOR THE GOLD CONTINUES...
You've captured the gold in Summer
Games® and Summer Games IP. Now
it's on to the Winter Gamesl And what
an incredible setting— a completely
realistic winter wonderland featuring
seven action-packed events.
At the Ski Jump you control your
form in mid-air, knees straight, leaning
forward. Hot Dog Aerials challenges
your courage and your sense of humor.
In Figure Skating you leap into Double
and TMpte Lutz jumps— wow the crowd
with a perfect Camel into a Sit Spin.
It's timing and style that counts. Free
Skating lets you choreograph your own
routines. In Speed Skating it's you
against a fellow speed demon— the
fastest human beings on level earth!
And the Bobsled— still faster as you fly
around hairpin turns, leaning hard to
stay in the tube. Finally the Biathlon,
the ultimate challenge to your endur-
ance in cross-country skiing and
marksmanship.
All of this fun and excitement is
easy to learn and play. You control the
action with the joystick, animating your
player for style and rhythm. You choose
the country you want to represent.
Listen to its national anthem. Then it's
practice, training and learning a win-
ning strategy for each event. Now the
Opening Ceremony and the competi-
tion begins— against your friends or
the computer. Will you be the one who
takes the gold at the Awards Ceremony?
Will your name be etched amongst the
World Record holders,'
The quest for the gold continues...
And it's all here— the strategy, the
challenge, the competition, and
pageantry of Winter GamesI
kr?u mu CM/I2S
Winter Games
COMPUTBiSOFTWA/iE
1043 Kiel Ct., Sunnyvale, CA 94089
Strategy Ganms for the Action-Game Player^
RUN to start SpeedCak, type SYS52000
and press RETURN. SpeedCak will be-
come active as usual. But when you
press SHIFT-CTRL-P for printed out-
put, and then press S for output to the
screen, Preview-80 takes over. All of
the Preview-80 options are available; to
exit the Preview-80 window, press
RUN/STOP twice.
Bob Starr
Thanks for the tip.
Moving AmigaDOS
Commands To RAM
Regarding your article "Introduction to
AmigaDOS" (COMPUTE!, January 1985),
1 feel that it's inconvenient to have all of
the AmigaDOS commands — especially
often-used commands like DIR — stored
on disk rather than in memory. Is it
possible to load all or part of DOS into
RAM? If so, how much memory does it
take up? Can you write a batch file to
make this part of the boot sequence?
Will AmigaDOS become RAM-resident
in the future?
Barry Silverstein
Evenf AmigaDOS command is disk-resi-
dent, and you're not likely to see any
change in the near future. This can be
inconvenient at times since, for each sepa-
rate AmigaDOS command, the computer
has to access the same Workbench disk
that zvas present when you booted the
system. If you have only one disk drive,
this scheme creates delays and requires
extra disk-swapping. Fortunately, there's
a simple remedy. If you create a RAM
disk, you can then COPY any or all of the
AmigaDOS commands from floppy disk to
RAM disk; the amount of memory con-
sumed depends on how many commands
you copy. Once that's done, an ASSIGN
command tells the system to use the
RAM-resident commands.
The most convenient way to move
AmigaDOS commands into RAM is by
editing the startup-sequence file, which
is similar to an AUTOEXEC.BAT file in
PC/DOS and MS/DOS systems. When
you insert a disk in response to the Ami-
ga's Workbench disk prompt, the com-
puter looks in the S subdirectory of the
currently mounted disk for a file named
startup-sequence. If this file is present,
the computer executes the AmigaDOS
commands that it contains. Since startup-
sequence is an ordinary ASCII text file,
it's easy to modify with a word processor
or any text editor that handles ASCII files.
(Before editing this file, make sure that
you have at least one copy of the Work-
bench disk in addition to the one that
came with your computer.) If you edit this
file with Textcraft or some other word
processor, you must resave it in the form
of plain ASCII text, without special for-
matting characters or control codes.
AmigaDOS includes two text editors
of its own. The easiest one to use is called
ED. Type this line at the ClI prompt, then
press RETURN:
ed "s/slarlup-aequence"
This command activates ED and
loads startup-sequence into the editor. An
unmodified startup-sequence file looks
like this:
ECHO "Workbench disk. Version 1.1"
ECHO " "
ECHO "Use Preferences tool to set date."
ECHO " "
LoadWb
endcli > nil:
You'll probably recognize the mes-
sages that appear on the screen when you
boot up with that disk. The LoadWb com-
mand loads and activates the Workbench,
and endcli terminates the AmigaDOS
command sequence, returning you to the
Workbench screen. We'll use ED to add
some new command lines between
LoadWb and endcli, ED is a very simple
text editor: Use the cursor keys to move
around in the file, and the BACKSPACE
key to delete characters. Everything that
you type is inserted at the current cursor
position (you can use uppercase if you
like, but lowercase works just as well and
is easier to type).
While you could copy the entire com-
mand directory (named C) into the RAM-
disk, that wastes a lot of RAM since some
AmigaDOS commands are used only rare-
ly. To save memory, we'll copy only the
most commonly used commands. Place
the cursor on top of the E in endcli and
enter these lines, pressing RETURN at the
end of each line:
echo "Copying AmigaDOS commands to
RAM disk..."
copy c/copy ram:c/copy
assign x: rantrc/copy
assign d: rain:c
cd sys:c
x: assign d;
x: cd d:
x; copy d:
x: delete d:
x: dir d:
x: diskcopy d:
x: echo d:
x: ed d:
x: endcli d:
x: info d:
XI list d:
x: makedir d:
x: newdi d:
x: rename d:
x: run d:
x: type d:
cd sys:
assign c: ram:c
assign d: c:delete
Remember, this set ofcomvtands goes
between the LoadWb and endcli lines in
the normal startup-sequence file. If you
change your mind and don't want to mod-
ify the file, press ESC-Q followed by RE-
TURN; ED returns you to the CLI without
changing anything. To save the modified
file to disk, press ESC-X followed by RE-
TURN. After the file is resaved, ED re-
turns you to the CLI protnpt. To test the
new startup-sequence file, reboot the
computer by pressing CTRL-Lefl Amiga-
Right Amiga. It takes about a minute to
copy the com7nands shown above. Once
the process is finished, all of the copied
commands are instantly available in RAM
(if this doesn't work, reload startup-
sequence into ED and check for typing
mistakes).
The first command line following
ECHO copies the COPY cotnmand itself
into RAM so the computer can copy sub-
sequent commands without accessing the
disk each time. The next three lines sim-
plify your typing job: The first ASSIGN
command tells the computer to substitute
the characters ram:c/copy wherever it
sees the characters x:. The second AS-
SIGN creates another short alias (d:)
which stands for the pathname ramie. The
CD command changes the current directo-
ry to SYS:C so you won't need to specify a
subdirectory for every file you want to
move. These three shortcuts let you abbre-
viate all of the remaitiing COPY com-
mands (the command x: endcli d: becomes
the equivalent of ram:c/copy sys:c/end-
cli ram:c, and so on).
Thus, each line beginning with x:
causes the computer to copy a single Ami-
gaDOS command to the RAM disk. Of
course, you can delete commands from
this list, or add others if desired. The
command ASSIGN C: RAM:C tells the
computer to use the C directory in the
RAM disk as its command directory. From
this point on, the Amiga searches the
RAM disk when you tell it to execute an
AmigaDOS command. The final ASSIGN
command isn't really necessary, but
shows how to create a shorthand name for
an often-used command. In this case,
we're creating d: as a synonym for DE-
LETE. Once this is done, you can delete
the file TEST by typing either DELETE
TEST or D:TEST. This can be done for any
command, using whatever shorthand you
like. The command sequence shown here
is adapted from an example in COM-
PUTEl's AmigaDOS Reference Guide,
which explains this and many other Ami-
gaDOS topics in detail.
HELP For Atari XL And XE
I have an Atari 800XL and would like to
know how to read the HELP key.
R.E. Brock
The status of the HELP key can be deter-
mined by PEEKing location 732 on the
Atari XL and XE computers. If the HELP
key alone is pressed, this location returns
a value of 17; when SHIFT and HELP are
pressed simultaneously, it contains 81.
12 COMPUTEl April 1936
TAP THE POWER
of the Commodore 128
By the author of
Machine Language
for Beginners and
Second 6oo/r of
Mactiine Language
128 Machine Language for Beginners
Richard Mansfield
One of the bestselling computer books ever has now been completely revised for the Commodore 128.
Most commercial software is written in machine language because it's far faster and more versatile than BASIC.
This new edition of Machine Language for Beginners is a step-by-step introduction to 8502 machine language
programming on Commodore's 128 computer.
The book includes everything you need to learn to effectively program the 128: numerous programming
examples, memory management tutorials; a complete description of the many Kernal routines and other new 128
features; numerous hints and programming techniques; and a dictionary of all major BASIC commands and their
machine language equivalents. It also includes a high-speed, professional-quality, label-based assembler,
optimized to take advantage of the speed and extra memory of the 128.
0-87455-033-5
$16.95
Like the other top-quality books from COMPUTEI, 128 Machine Language for Beginners brings you ready-to-use
information in a clear, lively style that makes learning easy and enjoyable, whether you are a beginner or an ad-
vanced computer user.
An optional disk is also available which includes the assembler and example programs in the book. The 128
LADS Disk is fully tested and ready to load on the Commodore 128. It costs only Si 2.95 and saves you hours of
typing time.
Order your copy of 728 Machine Language for Beginners and the LADS Disk today. Call toll free 1-800-346-6767
{in NY 1-212-887-8525) or mail your payment (plus $2.00 shipping per book or disk) to COMPUTE! Books. PO
Box 5038, F.D.R. Station, New York, NY 10150.
COMPUTE! Publications Jnc, ffi
One o( trie ABC Publishing ComDonies y^^^^
825 7th Avenue, 6lh Floor. New York, MV iOOl^S
PMWnan O* CCWVUL COWUTfr, G<a*n» caWVTP'tGortfl* Ow. CXDfcPU^P Soot. *Kt CCMPUTfi
*«*e AcOicotioit
COMPUTE! books are available in the U.K., Europe, the Middle
East, and Africa from Hoit Saunders, Ltd., 1 St. Anne's Road, East-
bourne, East Sussex BN21 3UN, England and in Canada from Holt,
Rinehart, & Winston, 55 Homer Avenue. Toronto, ON M8Z 4X6.
THE CMO ADVANTAGE HOME COMPUTERS
THE BEST PRICES!
Next day shipping on all in stock
items,
.-' Free easy access order inquiry.
I' Orders from outside
Pennsylvania save stale sales
tax.
Free technicia! support with our
laclory trained technical staH.
There is no limit and no deposit
on CO.D. orders.
There's no extra charge (or using
your MasterCard or Visa. Vour
card is not charged until we ship.
No waiting period (or cashiers
checks.
We accept purchase orders from
qualified corporations. Subject to
approval.
Educational discounts available
to qualified institutions,
FREE CATALOG MEMBERSHIP
CALL TOLL-FREE
1-800-233-8950
Educational Institutions
Call Toil-Free
1-800-221-4283
CUSTOMER SERVICE
& TECH SUPPORT
1-717-327-1450
Dept. A204
MAILING ADDRESS
Computer Mail Order
Dept. A204
477 East Thirid Street
Williamspori, PA 17701
"^
MEMBER DIRECT MARKETING ASSOCHTICH
CREDIT CARDS
SHIPPING °^°"^
Add 3%, minimum $7.00 shipping
and handling on all orders. Larger
shipments may require additional
charges.
All items subject to availability and
price change.
Returned shipments may be sub-
ject to a restocking fee.
CANADIAN ORDERS
1-800-268-3974
Ontario/Quebec
1-800-268-4559
Other Provinces
1-416-828-0866
In Toronto
TELEX: 06-218960
2505 Dunwin Drive,
l\/lississauga. Ontario
Canada L5L1T1
All prices shovi/n are tor U.S.A.
orders.
Call The Canadian Office for
Canadian prices.
GRAPHICS
APPLE
APPLE Mb...... CALL
APPLE lie CALL
MaclNTOSH CALL
lie LCD Display CALL
ATARI
eSXE (e4K| „ CALL
1 30XE (1 38K| CALL
S20ST I512K) CALL
8(MXL 64K CALL
1010 Recorder S49.99
1050 Dish Drive CALL
1020 Printer $29.99
1027 Leller Oualily Primer S129.00
1030 Direct Connect lulodem $59.99
COMMODORE
C128 I^ompiller J2B9.00
C1571 (Bisk Drive tor C12e) %2MM
f\wa (RGB 13" Mmitiir lor C1Z8 CALL
C167D (Modem lor C128) S179.II0
C64 Compuler CALL
C1541 Disk Drive $199,00
C1530 Dalasetle $39.99
Cia02 Color Monitor $189.00
C1660 Aulo Modem $59.99
DPS not Daisy Prinlei $339.00
Comrex 220 (C64 Interface) $89.99
■Polaoid
Palelie $1399.00
Power Processor $22900
lllumlnaled Slide Mounter S39.99
Polacolor 2 Pack (ilm $18.99
CURTIS POWER STRIPS
Diamond SP-1 $32.99
Emerald SP-2 $39.99
Sapphire SPF-1 $52.99
Ruby SPF.2 S59.99
Sale Strip SP-3 --$19.99
KENSINQTON
tJlasierPiece , $99 99
t^aslerPiece Plus - $119.00
PORTABLE COMPUTERS
That HEWLETT
mLrM packaro
41CV $139 00
41CX $199,00
HP 1 1C $49.99
HP leC $75.99
HP 15C $75.99
HP 16C - $89.99
HPIL Module - S98.P9
HPIL Casselie or Printer $359.99
Card Reader ,$1-^.99
Extended Funcsion Modulo $63.99
Time Module $63.99
W* stock Iha full 11ns at
HP calculator pri^ductt
NEC
PC-3401 LS CALL
PC-e201 Portable Computer.. ..$319.00
PC-a231 Disk Drive S599.00
PC-S221A Thermal Pnnlers $149 00
PC.8281A Daia Recorder $99 99
PC.8201-06 SK RAM $79,99
SHARF>
PC.1350 -.$149.00
PC-1261 1149.00
PC-1500A,., $169 00
PC-1250A $8999
CE-125 Prmler/CasSBlle $129 00
CE150 Color Primer Cas5etl6-$149 00
CE-161 16K RAM $12900
SOFTWARf
ARTWORK
Bridgor 4.0 (All) $17.99
Slrip Poker (All) $19.99
ATARI
flOMS FOR ATARI ONLY
8038 Atari Writer $24.99
Star Raiders $4.99
Missile Command $4.99
Defender $4 99
Galaxian $4.99
AsleroidS $4.99
Centipede $4.99
BRODERBUNO
Print Shop (All) $29 99
Graphics Library 1. II, 111 (All) $17 99
Bank Slroel Writer (64. AT). $34 99
Bank Sireel Writer (lle/lIc) $44 99
BATTERIES INCLUDED
Paperclip (AT. 64/12S) $37 99
Paperclip (tie/iic) S44.99
Homepack (64«T> $29 99
D.E.G A S (All) $27 99
CONTINENTAL SOFTWARE
Home Accountant (All) $44 99
Tax Advantage (All) 544,99
Home Acct./Tax Bundle (All) $59.99
MICROPROS^
Kennedy Approacti (All) $24.99
Aeroiel (All) $24.99
Silent Sen/ice (All),. ,$24.99
PFS
File (64) -.$39 99
File. Report. Graph (lle/llc). $79,99
Write wrProof (lle/llc) $79 99
SPRINGBOARD
Newsroom (64) $34.99
Clip Arts (64) $22.99
Nevasroom (Apple) , -.--$39.99
Clip Arts (ApptB) $22 99
SUBLOOIC
Flight Simulator (All) $37.99
Jet (64) $37 99
MODEMS
DISKETTES
maxell
3i/j" SS/DD (10) $24,99
3V:- DS/DD (10) .$34-99
5'A" MD-1 w/Ha/dC3ses (10) . ..$12 99
51/4" MD-2 w/Hardcases (10) $18.99
5V«" MD.2-HD for AT (10) - ..$39.99
2'/i" 5 pack SS/DD/CasB $13 99
I'JVt'rbaiini.
5V<" SS/DD $12.99
5V." DS/DD $24.99
Disk Analyzer $24.99
Elephanl 5%' SS(SD $13,99
Elephani S'A' SS/DO $14 99
Elephanl 5y4' DS/DD $16.99
Elephant Premium DS(DO(50) ...$79.99
Elephant 3W SS/DD $29.99
IBM
5'A " DS/DD lloppy (fisks
(Box of 10) - $26.99
DISK HOLDERS
INNOVATIVE CONCEPTS
Flip'
n File ID $2.99
Flip'n File 50 $14 99
Fiip'n File 50 w/lock $19 99
Flip'n File 100-- $19 99
Fhp'n File Data Case $9,99
AMAAAY
50 Disk Tub 51A" - $9.99
30 Disk Tub 3W Si<.99
tmncnoR
Volksmodem.. $69-99
Volksmodem 300/1200 $18999
Signalman Express $259 00
Lightning 2400 Baud $399,00
Expressi SI 99 00
6470 (64/128) 300/1200 Baud. $139,00
DIGITAL DEVICES
AT300 ■ 300 Baud (Alan) $99 99
©Hayes
Smartmodam 300. -$139,00
Smartmodem tZDO $38900
Smartmodom 1200B ,....$35900
Smartmodem 2400 $599 00
Micromodem lie $149 00
Smart Com II $89-99
Chronograph $199,00
Transel 1000 $309.00
Reach 1200 Baud Hall Card. ..$399,00
^9 SUPRA
HPP-1064 AD/AA (C.64) $69.99
[iNov3tioo|^
Smart Cai Plus $299 00
J-Cat $99 99
rJovalion 2400 $549 00
Apple Cat II $229 00
212 Apple Cai II $379 00
Apple Ca) 212 Upgrade $229 00
Macmodem $279 00
QUADRAMI
Ouadmodem II
300/1200 $339.00
300/1200/2400 $499.00
EVEREX
1200 Baud Internal (IBM/PC).. .$199.00
DRIVES
CM
HARD
AllOK Befnoulli SmglolO CALL
A210H Bernoulli Dual 10 CALL
A220H Bernoulli Dual 20 CALL
Save on Bernouili Carts CALL
JK TAIXaRAlK
^t tlCHNOLO«IE3
25, 35. 60. 80 meg (PC)
trom $1299-00
IRWIN
Tape Backup CALL
60 Meg Inlernal Backup System $799 00
CORE
AT20-AT72MB CALL
PRIAM
40. 60 MB (PC. XT, AT) CALL
KITS
10 Meg wilh conltoller $379 00
20 Ueg with controller $51900
FLOPPY
INDUS
Alan GT $199.00
C.64 /12B GT $199 00
SDl C.64 Single $219.00
SD2 C-64 Dual $469-00
isnaan
320K SW (PC) $119 00
TEAC
320K 5'A" SI 19 00
f ^^fe^.^
MONITORS
Video 300 Green $119.00
Video 300A Amber $129.00
Video 310A Amber TTL $159.00
Color 300 ComposilB $169.00
Color 600 Hi-fles. RGB $399.00
Color 710 Ullra Hi-fles $439-00
Color 72? Dual Mode $529.00
MAQNAVOX
8562 RGByComposrle $279.00
)Vf;c
JB1205A $79.99
JB127DG/1275A (ea.) $99.99
JBI280G TTL $129,00
JB12B5A TTL $129.00
JC146a RGB $229.00
JC1225 Composite $179.00
JC1401 Multi Sync RGB $549.00
rHINCXTDN
MA)(-12E Amber $179.00
HX-9 9" RGB $46900
HX-9E Enhancad $519,00
HX-12 12" RGB $469-00
HXI2E Enhanced $559.00
SR-12 Hi Res $59900
SR-12P Prolessiunal $639,00
115 12" Green $119 00
116 12" Ambef $129 00
121 TTL Green . $139 00
122 TTL Amber $14900
610 510x200 RGB $NEW
620 640x200 RGB SNEW
630 640x200 RGB $NEW
640 720x400 ffGB $NEW
QL1AI.)IW1|
B400 Quadchrome I $499.00
8410 Quadchrome II $339.00
8420 Amberchrome $179 00
8500 Quad Screen $1449.00
ZVM 1220 Amber ,..$99,99
ZVM 1230 Green $99,99
ZVM 1240 IBM Amber $149.00
ZVM 135 RGB $459.00
ZVM 1330 RGB $459.00
ZVM 1360 RGB CALL
ZVM 1380 E G Comp CALL
INTERFACES
Mulli iro (Apple IIJ $159,00
m'turmfus
Graphcard $79-99
Ssnall Card _ $99 99
Microftuffer 11 + , $169.00
Microbufler 32K $189.00
QUADHAM.
Microlazer (rem $139.00
Elazer (Epson).,. (rem $79.99
^Oronge micro
Grappler CD (C64| $89.99
Qrappler + (Apple) $89.99
Grappler 16K* (Apple) $159.00
DIGITAL DEVICES
Ape Face (Atari) -....-,- $45.99
U-Pnn! A (Alari) $54.99
U.AIB/Buller (A!ari( $74.99
U-Call Interlace (Alan) $39.99
U-Prinl C (C64) $49.99
P-16 Pnni Buller $74.99
U-Prmi 16 apple lie $89 99
PRINTERS
Canon
A40.A50,A55 CALL
LBP-eAl Laser CALL
^CITIZEN
MSP-IO (80 col) $279,00
MSP-15 (132 col.) $389.00
MSP.20 (80 col.) $349,00
MSP-25 (132 col.) $509.00
crroH
PfOWriler 7500 $169-00
Prownler 1550P $349.00
Starwriler 10-30 $399.00
3500 Tri Printer $149900
corona
Lazer LP-300 $2799.00
DIABLO
D25 Daisywheel $549.00
635 Daisywheel $89900
OeolF Daisywheel .CALL
d*isvwriter
200Q $699.00
EPSON
Homewriler 10. LX-80 CALL
FX 85- FX.2e6. RX-100, JX-80 CALL
DX-10. DX.20. DX-35 CALL
SQ-2000. HiBO. HS-80. AP-BO CALL
LaaOO. LQ-IOOO, LQ1500 CALL
6000 Letter Quality CALL
6100 Letter Quality CALL
6200 Letter Quality CALL
3300 Letter Oualilv CALL
5510 Dot Matrix CALL
LEGEND
808 Dot Matrw 100 ops $179.00
lOBO Dot Matrix 100 cps $259 00
1360 Dot Matrix 130 Cps $289,00
1385 Dot Malfix 165 cps $33900
Vfc'C
3000 Series $779.00
800O Series $1099. CM
ELF 360 , $399,00
Pinwritet 560 - $999,00
OigiMTA
182. 183. 192. 193. 2410, 84 CALL
Okimale 10 (Specify C64:Alan)$l 89.00
Otomale 20 (IBM) CALL
Panasonic
KX1080 NEW
KX1091 $259.00
KX1092 $389,00
KX1592 $469.00
KX1595 $659.00
Quadjol $399.00
Quad Laser ..-CALL
^SJiyER-REED
500 Lflller Quallly- $279-00
550 Letter Quallly $419.00
800 Letter Quality $699.00
SG-lOA (Alan) CALL
SG-IOC (CS4 Interface) .„,CALL
SB/SD/SG/SR Series CALL
Powenype Letter Quality CALL
Texas Instruments
TIB50 $529.00
TIB55 $639.00
TI865 $799.00
TOSHIBA
1340 (80 column) $389,00
P341 (132 column) $799.00
P361 (132 column) S1049.0Q
SOFTWARE FOR IBM
ANSA SOFTWARE
Paradox $549.00
ASHTON-TATE
Framework II $389.00
dBase III Plus $389.00
BORLAND
Lightening $54.99
Sidekick (unprotected) $49.99
Rellox.-- $54.99
Newspack - $54,99
CENTRAI. POINT
Copy II PC-Backup $29.99
DECISION RESOURCES
CharlfflastBr $229.00
Sfgnmastor $169.00
Diagram Master $219,00
FIFTH GENERATION
Fast Back 99.99
FOX AND QELLER
OuickcodB III - $169.00
FUNK SOFTWARE
Sideways $44.99
HARVARD SOFTWARE INC.
Total Preiocl Manager $269.00
INFOCOM
Cornerstane $279,00
LIFETREE
Volkswnlur III $159.00
UVINO VIDEOTEXT
Think Tank $109.00
Beady $64.99
LOTUS
Sympdory CALL
I-2-3 -- CALL
MECA SOFTWARE
Managing Your Money 2-0 $99,99
MICROPRO
Easy $94.99
WordStar 2000 $239.00
WordStar 2000-1- $289.00
WordStar Prolessional $199-00
MICRORIM SOFTWARE
H Base 4000 $249.00
R Base 5000 $389.00
Cloul 2.0 $129.00
MICROSOFT
Flighl Simulator $34.99
MulliPlan $129,00
Word - $229-00
Mouse $139-00
MICROSTUF
Cfosslalk XVI $89 99
Crosstalk Mark IV $14900
Reniulu $89,99
MULTIWATE
Mulli Male Word Proc $219,00
Advantage $289 00
On File $89.99
Just Wrile $89-99
NOUNEMON
Inluit - $69-99
NORTON
Norton Utilities 3.1 $59.99
ONE STEP
Gull'!. Bfcil -- $37-99
PFS:IBM
PfOOl $59,99
File/Grnph lea). $79 99
RelJOrt $74.99
Wrilu/Prool Combo $79.99
PROFESSIONAL SOFTWARE
Wnte-N-Spell $89.99
THE SOFTWARE QRQUP
Enalile $329,00
SATELUTE SYSTEMS
Word Pertect 4.1 $219. tx)
SORCIH/IU>
Account ing
AP/AR/GUINV/OE (ea) $299.00
SuperCalc III $199. (X)
EasyWriler II System $199.00
Super Proiscl $199.00
SPI SOFTWARE
Open Access $379,00
SUBLOQIC
Jel -- $37 99
^^^
IBM PC SYSTEMS
Conflgurad to your ■poclflcallon*.
Call for Best Price!
IBM-PC, IBM-XT, IBM-AT
PC-I3e Series, PC-14a Series, PC-16a
Series, PC- 160 Series. PC-t71 Series.
AT-200 Series CALL
9 SANYO
MBC 550-2. MBC 5552. MBC 675 Por-
labte. MBC775. MBC 880 DesktopCALL
Salan (7300).. 7^, CALL
6300 CALL
corona
PPC400 Dual Portilbty $128900
PPCXT to meg Portable $1989,00
PC40O22 Dual Desktop $1389.00
PC400-HD2 to meg $1989.00
irr x-TRA I^
256K. 2 Drive System CALL
256K, 10 mug Hard l>ri«r SystBin CALL
XP5. 20 rnikj CAIL
=V»SPER?V
Speiry-AT -..ab low as $1749.00
Sjieiry-IT as tow as $2699.00
Call for Specific Configuration!
All Models CALL
KAmW
KP-2000 PorlablB CALL
Kaypro PC CALL
MULTIFUNCTION CARDS
/isr
Rampage $379,00
Six Pack Plus.... $229.00
irO Plus II $139.00
Ad^anlage-AT $399.00
Graph Pak/64K $599.00
MonoGraph Plus $399.00
Preview Mono.... $299.00
PC Net Cards $379 00
525in 1 On-line $669.00
5251/12 Remote $579.00
IRMA 3270 :..::," $879 00
IRMA Print $999.00
IRMA Smart Alec $779,00
Edge Card $259-00
Graphics Edge $239 00
Magic Card 11 $16900
IIKKCI'LKS
Graphics $299,00
Color $159.00
,„^. lDcA.s>ocu^
IDEA 5251 - $58900
MYLEX
Tho Chairman £439 00
PARADlSh
Color/Mono Card $149.00
Modular Graptiics Card $259 00
Mulli Display Caid $219.00
Five Pack C, S .$129 00
Bob Board
$35900
Captain ■ 64 $19900
Graphics Master $469 00
Quadport-AT ?r^.. $119.00
Liberty-AT (12eK) $349,00
The Gold Quadboard $449 00
The Sliver Quadboard $239,00
Expanded Ouadtward $199.00
Liberty $309.00
OuadSpnnI , $499 00
QuadLink , $399.00
QuadColor $199.00
Chronagraph $79.99
Parallel Interface Board $64.99
INTEL
PCfJCa087 5MHz
PCNCS0872 8 MHz CALL
PCHCB02B7 6 MH2. FOfl
1010 PC-Above Board YOUR
n 10 PS-Above Board pc
20t0 AT-AbovB Board
Pressing CONTROL and HELP returns a
value of 145. The statement POKE 732,0
clears location 752, so you can check for
subsequent keypresses.
Apple lle/llc Compaflbllfty
I'm interested in buying an Apple lie
computer. Can it use He hardware and
software?
Carlos Aguayo
The Apple Ik computer is basically an
Apple He that has been redesigned to take
up as little space as possible. To keep the
He small, Apple left out the He's expan-
sion slots (where additional hardivare can
be attached), but added a built-in 5V4-inch
disk drive. They also put the most com-
mon He expansion hardware (SO-column
video display, an extra 6iK of memory,
and two serial input/output ports) on the
main board of the lie. In addition, the lie
has some features that weren't available
zuhen the He appeared: an advanced
65C02 microprocessor and a character set
called Mousetext which contains extra
characters especially for Macintosh-style
icon- and menu-based programs. The
newest version of the He (called Enhanced
lie) does have these extra features; dealers
can upgrade an older lie at a small cost.
The lie can run almost all lie pro-
grams, as long as no special hardware is
required. For instance, some music pro-
grams can communicate with instruments
through a MIDI (Musical Instrument Dig-
ital Interface) adapter. This adapter must
connect to an expansion slot, which is
possible only on a lie. Other programs
sometimes expect a parallel I/O interface
to attach a printer. Since the lie has only
serial I/O, it can't run that type of modifi-
cation. Although the Ik has no expansion
slots, its peripherals (serial ports, disk
drives, etc.) act like they are built into
certain slots. Apple tried to select the most
commonly used slot for each peripheral
(printer in slot 1, disk drive in slot 6).
However, not everyone puts everything in
the same place, and some programs may
demand an unconventional configuration.
lie owners can rearrange the cards in
their slots to run such programs, but Ik
owners don't have this option.
The serial ports on the Ik generate
standard RS-232 signals which can be
used to communicate with most modems
from any manufacturer. Many of the most
popular printers are also available with
RS-232 interfaces. But the Ik does not
have standard connectors for these ports.
To save space on the back panel of the
computer, DIN-type connectors are used
instead- as a result, you'll need special
cables (available from Apple dealers) to
attach serial peripherals.
When it comes to expandability, the
He IS much more flexible than the Ik.
Almost any kind of peripheral can be
attached through one of its slots, includ-
ing parallel 1/0 ports, MIDI interfaces,
hard disk drives, coprocessors, huge RAM
expansion cards, and a host of other de-
vices. However, some third-party compa-
nies have begun modifying the Ik to put
in extras like additional memory and Z80
processors (to run the CP/M operating
system, a popular He add-on). It's still
more difficult than expanding a He, but it
can be done.
IBM PUT And GET
I own a TI-99/4A and an IBM PCjr.
Lately, I've been trying to convert some
programs from TI to IBM. I have only
one problem: the PUT and GET graphic
statements in the IBM system. I really
don't understand them. Could you
show me a way to make an image and
move it?
Billy Mobley
Firsf, be aware that IBM BASIC has two
types of GET and PUT statements: one for
graphics and another for random files.
The syntax for each type is different, so be
sure you're using the graphics type. GET
grabs the screen image within a specified
rectangle and stores a copy of it in an
array. PUT does just the opposite, putting
the image from an array back onto the
screen.
Several important rules apply to
PUT and GET. Before using either com-
mand, you must be in a graphics mode
(SCREEN 1, for example); neither PUT nor
GET works on a text screen. The array that
you GET a shape into must be a one-
dimensional numeric array dimensioned
to the proper size. Finally, you must GET
before you can PUT.
The most difficult task is deciding
what size to dimension the array. If the
array is too small, it can't hold the graph-
ics image, and the program won't work.
The simplest solution is to try a large size
like DIM A(500). It won't hurt to dimen-
sion it larger than necessary, but this
method wastes memory. Here's a more
efficient formula that tells you the mini-
mum required size for the array:
INTH4 + INTWx'rcs + 7)/8)*y )/prec)
In this formula, the variable x repre-
sents the width of the image in pixels: y is
the height of the image; res is 3 for high
resolution and 2 for medium resolution;
and prec is the precision of the array (2 for
integer, 4 for single precision, and 8 for
double precision).
GET must be followed by the screen
coordinates of two opposite comers of the
rectangular image, and the name of the
array. For example, GET (0,0)-(19,29),A
grabs a 20 X 30 pixel image at the top-left
corner of the screen and stores it in array
A. (Of course, you must first have an
image on the screen. This can be done
with DRAW.) With a high-resolution
screen and a single-precision array, the
formula above gives 23, so the dimension
statement would be DIM A(23).
PUT is followed by the coordinates of
the location on the screen where the top-
left corner of the image is placed, then the
name of the array, and an optional param-
eter for special effects. Five special effects
are available: PSET, PRESET, AND, OR,
and XOR. If no special effect is specified,
XOR is assumed.
PSET displays the image exactly as it
appeared when GET was used. PRESET
displays a negative image. AND displays
only those parts of the image that overlap
an image already on the screen. OR super-
imposes the image onto an image already
on the screen. XOR is a combination of
AND and PRESET, reversing only those
parts of the image that overlap an image
already on the screen. The best way to
understand exactly what these special ef-
fects do is to try them yourself. Using our
example, PUT (200,W0),A,PSET displays
the image stored in the A array in the
center of the screen.
The operation of XOR may seem
strange, but it's handy for animation.
When you PUT using XOR twice in the
same position, the screen is restored un-
changed. This allows you to move an
image over a background image, giving a
3-D effect. Animation with XOR is a
three-step process: PUT the image on the
screen with XOR, calculate the new posi-
tion, PUT the image in the old position a
second time to erase it. By performing
these steps repeatedly, the image seems to
move. The following program moves a ball
across the screen.
10 SCREEN 1
20 DIM ft;ii3)
30 CIRCLE !2(5,20) ,20
40 PAINT (20,Z;S)
50 GET (0,0;-(40,^-0) , A
60 CLS
70 FOR C"! TO 100
80 PUT (Xl.YD.A -display ima
ge
90 X2=XI-H: Y2=Y1+1 'calculate
new position
100 PUT CXI, YD, A 'erase imag
e
110 XI=X2:Y!=Y2 'cld=new
120 NEXT 'repeat
Simpler Absent Printer Test
I'm writing with regard to the "Readers'
Feedback" item on absent Commodore
printers, published in the December
1985 COMPUTE!. Another way to avoid a
DEVICE NOT PRESENT error is to ac-
cess the appropriate device (4) through
the command channel (15) and check
the value of the status variable ST. If ST
does not equal 0, then the printer is not
present. Here is a short routine to
demonstrate:
10 OPEN 15,4,1.5:CLOSE 15
20 IF STO0 THEN 40
16 COMPUTEI April 1986
AH the exciting,
entertaining, and
educational games,
applications, and utilities
from COMPUTE! magazine
are now available on disk
for your Commodore,
Atari, Apple, or IBM
personal computer.
The COMPUTE! Disk
A new COMPUTE! Disk is published
every month, rotating among the four
major machines covered by COMPUTE!:
Commodore 64 and 128; Atari 400/800,
XL, and XE; Apple Il-series; and IBM PC,
PCjr, and compatibles.
Every three months you can receive
a disk with all the quality programs from
the previous three issues of COMPUTE!
that will run on your brand of computer.
Like the popular COMPUTE!'s Ga-
zette Disk, the COMPUTE! Disk is ready-
to-load and error-free. It saves you
valuable hours of typing time and elimi-
nates typing errors.
With a subscription, you will receive
one disk every three months for a total
of four disks a year — for only $39.95.
That saves you $20 a year off the single-
issue cost.
Or you can order individual issues
of the Disk for $12.95 a disk plus $2.00
shipping and handling.
Remember to specify your type of
computer when ordering the COMPUTE!
Disk. You'll find more information about
this month's COMPUTE! Disk in this
issue. (Note: You'll need the correspond-
ing issues of COMPUTE! magazine to use
the Disk since the disk will have no
documentation.)
For fastest service when ordering a
subscription to the COMPUTE! Disk, call
toll free 1-800-247-5470 (in Iowa
1-800-532-1272).
For more details or to order individ-
ual issues of the COMPUTE! Disk, call
our Customer Service Department toll
free at 1-800-346-6767 (in New York
212-887-8525).
Please allow 4-6 weeks after placing an
order for your first disk to arrive.
COMPUTE! Publications Jnc. a
Or« of tfie ABC PuGiirving ComCKJAies
325 7th Avenue. 6tfi Froor, New Voft; N¥ ^^tXi^<i
The 1050 DUPLICATOR IS HERE...
THE 1050 DUPLICATOR: The most powerful
diskdrive copy system ever developed for ttie ATARI.
me Duplicator
for The New "Sr
is now
avaitable.
The only Copy System You will
ever need!
What will If do?
^ The main purpose at the Dupllcdior li lo copydltktl You will be
able to copy juit about any disk! The copies you make will run on
any Atari drive. The Duplicator need not be present to run your
backup copies The Duplicator is fuily automatic. Vou need
only insert source and destination disks. Custorr) forr^ats will
be reoa ontf in turn reproduced on the backup copy disk.
Our device will leptoduce any custom lonrjot or tieovlly
copy guorded scheme. boO sectors, double sectors.
19 trirough 24 sector foimot will present no problBrr\
to the Duplicator
*-You will tllllhave tingle dentlty. dentlfyand
one half, and double dentlty. Wt)en you have a
Dupllcotor installed in c 1050 drive tt\at drive will be
tumeo into true double density. You will have twice
rt\e disk storage. Your drive will be compatible wltti ottier
double density drives as The Rana Indus Percom. etc.
HARDWARE POWER
Fully Compatible with the XL & New XE Series
••H/g/i ipeed read A write. Your disk drive will read and load
allot your software, saving wear and tear on your drive. The
10S0 drive now reads one sector at a time. This Is slow and
Inefficient, With the duplicator Installed you will be oble
to read eighteen sectors In the time It takes standard.
unentxinced drives to read one.
►■ Included wlltj every Duplicator will be uter
friendly disk software, A simple, menu driven
progrOiH will allow you lo copy all of your
software. A Duplicator enhanced drive will
be a SMART drive. We plan to write rnany
newand exciting programs thatcan only be
run on an ennonced drive, eg. sending a
copy-guarded disk over the phone. Since the
drive Is now fully programmable, fu ture upgrades
can be made avaitable to you on disks, should the
need arise, t^ further hardware changes will ever be
needed. The Duplicator comes with a full hardware and
software guarantee.
"^ 1 ■ ^ PtoiS2
_ _ 5? 50 f» shipping hondlino
Aam%outtia9USA
N Y stale ffesicJefift odd T'.iS SoJas Tax
'Deoier jrxjuires are tf^come. con tcf quonfify price ouofo.
EASY 5 MINUTE INSTALLATION
NO HARM TO YOUR DRIVE OR INCOMPATIBILITY PROBLEMS CAN EVER ARISE AS A RESULT OF THE INSTALLATION OF OUR DUFIICATOR
IMPORTANT- On\y a hardwam device like the DUPIICATOR can backup heavily copy-guarded
' disks. Don't be fooled by software programs that claim lo do this.
DUPLICATING TECHNOLOGIES inc. Sl^
Formerly Ga rdner Com puti ng ^ ' '
Wie^cholpke.. Suite 302A Jericho N.Y. 11 753 ZtZ»». (516) 333-5805. 5807, 5808 ?„?;^'Und. (516) 333-5950
rfffVS- kVs accept Amsricon Ixpress. Vl,c. MasterCard and COD orderi foralgry orders mux bo In U.S. dollars. All personal eftecdj aWoiv M days lo clear liAosI Items
shipped wittilft W Itotifs.
30 OPEN 1, 4 :PEU:NT#1, "PRINTER I
S ON"!Ci:,OSE l.sEND
40 PRINT CHRS ( 147 ): "TURN ON PR
INTER": GOTO 10
If you run this program with the
printer off, it instructs you to turn the
device on. Printing begins as soon as
the printer is active.
Jim Plavecsky
Thanks for this compact, all-BASIC solu-
tion. In programs that open disk files or
use att RS-232 device (usually a modem),
you may want to perform this check at the
very beginning, before you perform any
other OPEN statements. The statement
CLOSE 15 closes all other channels in
addition to the command channel, termi-
nating any RS-232 communications and
disconnecting (but not really closing) any
open disk files.
Emphasized Tl Charocter Set
The custoni character set given for the
Commodore 64 on pages 108-109 of
COMFUTEi's January 1986 issue can be
used on the TI-99/4A with only slight
modifications. Since that character defi-
nition data is listed in hexadecimal for-
mat, it can be read as a pattern-identifier
string and assigned with the CALL
CHAR statement (see page 11-76 in the
TI User's Reference Guide). Each line in
the Commodore character set listing
contains data for a single character plus
a checksum value at the end of the line.
To convert the data in each line to a 16-
character pattern -identifier string, type
in the first eight two-digit hexadecimal
numbers (spaces are left out, of course).
In the first line, for instance, the result-
ing string could be used with a CALL
CHAR statement to redefine the @
character. To create the new character
set, first enter this program:
100 FOR L=l TO 94
110 READ 0$
120 CALL CHAR(L+3 2,C5>
130 PRINT CHR$(L+32);
140 NEXT L
150 GOTO 150
Next, you must enter a series of
lines containing DATA statements.
Each DATA statement represents the
data for one character in the form of a
16-character pattern identifier string.
For example, the first DATA line would
look like this:
500 DATA 7CC6DEDECOC07800
Here is how to enter all of the
DATA lines.
lines 500-SOO Use data from line
7108-71F8 (defines
ASCII characters 33-63)
line 810 Use data from line 7000
(ASCII 64>
lines 820-1070 Use data from lines
7208-72D0 (ASCII
65-90)
line 1080 Use data from line
70D8 (ASCII 91)
line 1090 Use OOC06O3018OC060O
as data (ASCII 92)
lines 1100-1110 Use data from lines
70E8-70F0 (ASCII
93-94)
line 1120 Use OOOOOOOOOOOOOOFF
as data (ASCII 95)
line 1130 Use data from line 7200
(ASCII 96)
lines 1140-1390 Use data from lines
7008-70DO (ASCII
97-122)
Unes 1400-1420 Enter data from lines
72D8-72E8 (ASCII
123-125)
line 1430 Enter 000020745C080000
as data (ASCII 126)
The result of your effort will be an
emphasized font with true lowercase.
John Hedstrom
Thank you for your suggestion.
18 COMPUni April 1986
HOTWAR^r^
Software Best Sellers
ThU
Month
Last
Month
TH19
Publisher
Rftmarks
Entertainment ,
1.
2.
3.
4.
5.
4.
3.
2.
1.
Jet
Silent Service
Ultima IV
Karaleka
1^15 Strike Eagle
SubLogic
MicroProse
Origin Systems,
Inc.
Broderbund
MicroProse
Jet simuJcrfion
Submarine simulation
Fantasy game
Action karate gome
Air combat simulation
Education .
1.
2.
4.
6.
1 . Typlryg Tutor III
2. I^alh Blasterl
3. New Improved
MasterType
4. I^uslc Construction Set
5. / Am me C-<S4
Simon & Schuster
Davidson
Scarborough
Electronic Arts
Creative/
Activision
Typing instruction program
Introductory math program,
ages 6-12
Typing instruction program
Music composition program
Introduction to the C-64
Home Management ,
t
Print Stiop
Ttie Newsroom
Bank Street Writer
Print Shop Graphics
Library III
Print Shop Graphics
Library
Brederbund
Springboard
Broderbund
Broderbund
Broderbund
Do-it-yourself print shop
Do-it-yourself newspaper
Word processor
Upgraded graphics library
1 00 addltionol graphics
a.
Q.
<
<
Systems
o
E
E
o
a
t
c
o
o
Copyrfght 19B6 by Billboard Publlcullom. Inc. Compiled by ttm Billboard Research DeparltnertI and reprlrrted by permission. Data as ot 2/1/B6 (enterfalrment) and 2/B/S6
(education and home rrxsnagement).
IT ALSO RUNS ON 64K
Serious runners knowit takes more than great running shoes to improve performance. It takes knowl-
edge. Now PuiTia gives you both. With the RS Computer Shoe. The first training shoe to combine advanced
footwear technology with computer technology.
The RS Computer Shoe has a custom-designed gate array bulk into its heel. This computer chip
records your run, then communicates the results to any Apple HE, Commodore 64
or 128, or IBM PC computer
A software program included with the shoe automatically alculates your time, distance
and calories expended. Then graphically compares them to past performances and future goals.
The RS Computer Shoe from Puma. We're so out front in technology we put
computers in the backs of our shoes.
iin\
.fpf.lcijirt(i!itidiniltrurlo(AppkConipur(t.liit .Commcdorcetjnd IJSjnmdtmjibofCijiTnimlMtCiiiapijtMSjscott. [BVIiDdltMPCaitnslainittnilmiriiiolIIIM
OUR WORD FOR QUAUTT
NEW TECHNOLOGIES
The Converging Digital Universe
Selby Boteman. Features Editor
The winds of technological
change have been blowing a
gale for the past few years. And
the forecast shows no indication of
a letup. In fact, millions of consum-
ers will begin to reap a resulting
whirlwind of new high-tech prod-
ucts for the home, office, and class-
room. Consider the following:
■ A home stereo system an-
swers your phone, takes messages,
and alerts you to incoming calls.
• With the push of a button,
your video film recorder captures a
picture from your favorite TV show
and instantly prints out a still photo
for your wallet.
• Your 20-volume set of ency-
clopedias, contained and cross-
indexed on a compact disc in a
player connected to your computer,
searches and prints out 37 reference
sources on your selected topic in
less than 30 seconds.
• The satellite dish in your
backyard automatically tracks vari-
ous communication satellites based
on the pattern of TV programs you
want to watch each night. At the
same time, your computer is receiv-
ing and storing financial data that
unobtrusively shares the same in-
coming satellite transmission to
your TV.
• The digital TV in your living
room displays two small windows
on the screen while you watch a
The digitization of America is well
under way. Thanks to a wave of new
consumer electrotiics products, this
year more people than ever will see
and hear how the convergence of digi-
tal audio, video, satellite, telephone,
optical, laser, television, and com-
puter technologies is transforming the
world. Yet, the phenomenon is just
begimmig.
program uninterrupted; one win-
dow shows the changing stock quo-
tations, while the second window
displays a program from a different
channel or previews a tape from
your videocassette recorder.
• The computer image recorder
connected to your personal com-
puter makes a 35 mm slide, color
print, or overhead transparency of
the business chart or digital paint-
ing you've just created.
Does any of this sound far-
fetched? You'll be able to buy prod-
ucts this year that do all of these
things and more. If it seems difficult
to keep up with the latest news
about consumer electronics, it's not
your fault. Never have so many
dramatic technological changes
produced so many new capabilities
and products in so short a time.
What has become strikingly clear is
that ail of these innovations share a
common foundation — the digital,
microprocessor-based world of
computer electronics.
These changes have become so
important to our lives and our
pocketbooks that market re-
searchers are now targeting a new
group of consumers: Technologi-
cally Advanced Families (TAFs).
Could "yuppies" eventually be sur-
passed in importance by "taffies,"
households that purchase and use
the latest computers, VCRs, stereo
TVs, 8 mm camcorders (camera re-
corders), compact disc players, sat-
ellite dishes, and dozens of other
products? Consumer electronics
manufacturers and retailers believe
that these households are the im-
portant leading-edge market for
their array of new products.
Among the catalysts sparking
enthusiasm for the latest in high-
tech gear, none is more important
than the personal computer phe-
nomenon of the past half-dozen
years. Not only are computer own-
ers the bedrock of the TAFs, but the
new generation of 16/32-bit com-
puters is powerful enough to work
with just about any other consumer
electronics product. Suddenly, de-
vices like VCRs, compact disc play-
ers, electronic keyboards, and
camcorders have become computer
peripherals. As these products con-
tinue to become more sophisticated
April 1966 COMPUTE! 21
and flexible, their technologies con-
verge and their capabilities expand.
In the world of consumer electron-
ics, the whole has indeed become
more than the sum of its parts.
The development of the micro-
computer has accelerated an al-
ready rapid evolution, says David
Allen, president of Boston Media
Consultants and a writer specializ-
ing in TV production, computers,
videodiscs, and videotape. "They
come along with greater speed.
That's not a function of any interac-
tivity, that's just a curve that the
computer industry and microelec-
tronics industry are on.
"Each development feeds the
next development in a serendipi-
tous way that makes succeeding de-
velopments faster to accomplish,"
says Allen. "You can really say that
we're now to the point at which
you could almost create any tech-
nological package you could con-
ceive of, if you don't put a price
restriction on it. Nothing is techno-
logically impossible, in a broad
sense. But it has to be accompanied
by some kind of way to get return
on investment. And that's what
slows things down more than any-
thing else right now. It's market-
driven, not technologically driven."
During the past year, a parade
of new technologies has entered the
computer scene. The arrival of
MIDI (Musical Instrument Digital
Interface) has opened the doors to a
new world of computer-based mu-
sic composition and performance
{see "Making Music with MIDI,"
COMPUTE!, January 1986). Laser-
driven compact disc technology has
branched out from stereo systems
to computer data storage and re-
trieval. Smaller, less expensive vid-
eo cameras and camcorders that
connect with VCRs and computers
are making inroads in consumer
markets.
In addition, a new family of
audio/video hardware and soft-
ware products has been created to
take advantage of the latest com-
puters, particularly the Commo-
dore Amiga, Atari ST, and Apple
Macintosh.
It's appropriate that in this age of
video one of the most promising
fields of development is com-
puter control of video images that
originate from video cameras,
22 COMPUTEI April 1986
VCRs, laser disc players, other com-
puters, or TVs with video outputs —
essentially any device that puts out
a composite video signal. For in-
stance, Commodore is releasing
two fascinating video peripherals
for the Amiga: the Genlock, which
plugs into the back of the Amiga
and mixes external video signals
with the computer's own video out-
put; and the Amiga LIVE digitizer
(formerly known as the "frame
grabber"), which captures and digi-
tizes an external video image in the
Amiga itself.
Commodore /Amiga's Genlock accessory
tucks beneath the rear of the Amiga
computer and permits sophisticated
video image mixing.
"Genlock is external to the
Amiga and externally mixes two
video sources, one of them the
Amiga's," explains Paul Higginbot-
tom, an Amiga product manager at
Commodore. "So you take the
Amiga's video source and the exter-
nal video source, and you combine
them — and the audio as well.
Nothing comes into the Amiga with
Genlock. With Amiga LIVE, a digi-
tized picture is brought into the
Amiga. So one [Genlock] is doing
superimposing, and the other
[Amiga LIVE] is actually taking an
image and bringing it in.
"They operate separately, but
you could certainly use them to-
gether," says Higginbottom, "You
may want to take a real image and
put Amiga's graphics on it, and dig-
itize those back into the Amiga
again."
Immediate applications for the
Genlock include on-screen titling
for video presentations or home
movies, "electronic chalkboard" ef-
fects similar to those used for TV
sports analysis, and special video
effects achieved by mixing Amiga
graphics with other video images.
At the Amiga's official unveiling in
New York last summer, artist Andy
Warhol used a video camera. Gen-
lock, and Amiga LIVE to digitize a
picture of rock singer Deborah Har-
ry, then used a mouse-controlled
graphics program to "paint" the
video image with new colors.
Amiga LIVE can be used not only
for special video effects such as
these, but also for video databases,
says Higginbottom.
"We don't just mean pretty
pictures. If you're a real estate agent
or an architect, or you have a parts
list you want to inventory, some-
thing like that — then you can have
a video inventory," he explains.
"And Amiga LIVE performs in real-
time, not like most digitizers you
see that usually take anywhere
from 8 to 30 seconds to generate the
picture on the screen. This is in
realtime; if you have a movie cam-
era, you'll see the image move as
you move the camera."
Both the Genlock and Amiga
LIVE are expected to be available in
April or May, pending final FCC
approval. Each accessory will cost
about $249.95.
A different video digitizer is
in the works for the Atari ST
and should be available by
the time you read this. Hippopota-
mus Software is introducing the
Hippovision Video Digitizer this
spring for the ST and plans to have
a version available later for the
Amiga. (No price announced yet.)
"Anything that produces video
signals, you just plug into the [digi-
tizer] box that's connected to the
computer," says Clint Ballard, vice
president of engineering for the Los
Gatos, California firm. "You press a
button when you get a picture you
like, and there you have it. We'll
also have image processing soft-
ware with which you can change
around the colors — do whatever
you want with it. This really opens
up the graphics world."
For the Macintosh, which has a
two-year head start on the Amiga
and ST, there are already several
video digitizers and compatible
graphics programs available. Mac-
Vision from Koala Technologies,
Micro-lmager from Servidyne Sys-
tems, Inc., Thunderscan from
Thunderware, Inc., and a few others
COMPUTERS
MLUBRAffiU
COMPUTB! Offers you special savings on tills set of toU'Selllng titles for your IBfA PC antf PCir.
Each book contains valuable tutorials, prosramming guides, personal and business
applications, and games. Together, the books provide ail the up-to-date, ready-to-use
information and programs you need to get the most from your IBM personal computer.
A Gfophfcs Colecltoo
for the BM PC and PC^
i>* * t»j»w c<«rAi !■
BASIC
Programs
for ttie
IBM PC and PCjr
COMPWTEPs
TELECOMPUTING
ON THE:
COMPUTEi's First Book
of IBM
Edited, 326 pages
Thirty of the best games,
utilities, grapliics and sound
generators, and applications
for tlie IBM PC and PCIr. A
disit is also available wlilch
includes programs In the boolc,
$12.95, D106BDSK.
ISBN 0-87455-010-6
$14.95
Icons and images: A
Graphics Collection for
the IBM PC and PCjr
Elmer Larsen, 227 pages
Ninety-four short routines to
instantly enhance business,
educational, and entertainment
programs on either the IBM PC
or PCjr.
ISBN 0-942386-84-1
$14.95
Easy BASIC Programs for
the IBM PC and PCjr
Brian Fiynn, 359 pages
Everything from games to
heme and office applications
programs Is Included for the
IBM PC and PClf.
ISBN 0-94Z386-SS-2
St4.95
COMPUTEI'S
Telecomputing on the IBM
Arlan R. Levltan
and Sheldon Leemon, 274 pages
The ins and outs of
telecomputing on the IBM PC
or PCjr, from selecting a
modem and evaluating
terminal software to getting
online with the major
information services.
ISBN 0-942386-96-5
$14.95
ORDER ALL FOUR BOOKS FOR $49.95 AND SAVE OVER 15% OFF THE RETAIL PRICE!
Talte advantage of th« great price savings and exceptional value of these bestselling books from COMPUTE!
and order ttte four- book set today.
To order, call our toll free customer service number, 1-800-346-6767 (in NY 212-887-8S25) and ask for
COMPUTEI'S IBM Library. Or, mail the attached coupon with your payment to COMPUTE! Books, P.O. Box 5038,
F.D.R. Station, New York, NY 10150.
You can also order individual copies of any of the above books at the stated retail price. Sorry, no substitutions.
LIMITED TIME OFFER! You must order before May 20 to receive your 15-percent discount.
r
Please send me the books I have selected. My payment is enclosed.
Sets of COMPOWs IBM Library (lour botks per set) $49.9S
COHPUUrs First Book ot IBM (OIOS) SU.95
COMPUTERS Telecompullng ea the IBM (96-Sl S14.9S
Easf BASIC Piegrms far the IBM PC anil PCjr (5S-2) $14.95
■ Icaas aail Images: A Graphics Celleetloa fur the IBM PC aat
PCjr <84-1i tU.SS
Account No. ,
Name
Address
City
. Exp. Date .
All orders must tie prepaid.
D Payment enclosed (checl( or money order)
D Charge D MasterCard a Visa D American Express
Subtotal
NC residerrts add 4.5% sates tax
Sliipping and handling
($2.00 per book; S5.00 per tiook airmail)
Total amount enclosed
(reguiredj
. State .
L
Please altw 4-6 weeks for deSvery
. Zip .
36411911
COMPUTEl Publicationsjncg
On© of the ftSC Pubtahing Componies
825 'tn Avenue, ath Ftow. New Yoik, NV 10019
ACT), A£04C3t<r4
COMPUTE! books are available in the U.K., Europe, the Middle
East, and Africa from Holt Saunders, Ltd., 1 St. Anne's Road, East-
bourne, East Sussex BN21 3UN, England and in Canada from Holt,
Rinehart, & Winston, S5 Homer Avenue, Toronto, ON M8Z 4X6.
I'SJiS'-il--''"^'-'-*^"^'
THE ST COMPUTER UNE
HMMWATARL
IT'S LIKE GETTING THE POWER AND SPEED OF A FERRARI
FOR THE PRICE OF A FORD.'
When Atari introduced the 520ST™,
we set the personal computer industry
on its ear.
Nobody had ever produced a machine
so powerful and technically advanced
for such an incredibly low price.
Nobody but Atari has done it yet.
The competition was stunned.
The critics wrote rave reviews.
And consumers were ecstatic.
We could have rested on our laurels^
but we didn't.
Instead, Atari extended the ST concept
to a new computer called the 1040ST '".
The amazing new 1040ST is even
more powerful than the 520ST and
years ahead of all the competition at
almost any price. The only question in
MABI ■
COMMODORE a>
SMBAr"
PCATt"
APPLE®
Madntosh™
APPLE Uc®
Price 5999
SI 795
S4675
SlSSS
S1295
CPU 68D0O
Speed MHz b 11
63000
716
60286
60
6B0OO
7 83
65002
1-0
SlantJard HAM i MB
256K
256H
5I2K
128K
Etandara ROM 192K
192K
6JK
B4K
16K
Numtjef of Keys 95
89
95
59
83
Mouse Yes
Yes
No
Yes
Oplional
Screen Resoiuiion
(Non-]nteriaced Mode)
Color «4(1»200
Monoctirome 640]i4QD
640K200-"
6'10ii200'"
640x200
72011 350"
None
512x342
560x192
550x192
Color Oulput r»
Yes
Opliortal
None
Yes
Number ol Colors sw
4096
16
None
16
Disk Drive 3 5
3.5-
5.25-
35"
525-
EuilL-in Hard Disk
(DMA) Ron Tes
No
Yes
No
No
Midi Interface Yei
No
Mo
No
No
It ol Sound Voices 3
4
1
A
1
Attn 520ST wllh S12K RAM. I7B9.
'Connecis to standard color TV Fot RGB coio- monitof add S20D.
■•• Wild optional monocirome Doafd (rton tut-mapped)
'"Inieriace Mixie - &40):4M
Fe-f ari is a registeiflfl tr^d^mach of Fer rjrj lTal<B SpA ino Fenan ol
ArTveFica. trtc Foftl Ls a i9g>sTeied naOefTidFii o' Fofd Motor CcnM'Hy
IBM aj-id PCAT ara ie>gi3iarM uaaermrks al iniamtiKnii 8uiirws]
MachnAs Carp CommodocB &nd Amiga ara l(ad«nurks of Conv
modort Ei«tfonK» HO A«*». *»*• Hi;, t-nc MicwiMn are
irwlomarks of ApcUe CompuW. inc Aiati. 5?DST. iO«C&T. ana ST ar«
iradamarks ol Atari Corp
1986 isn't which
company to buy
a computer
from, but which
computer to buy
from Atari.
At S799, the
520ST gives you 512 Kbytes of RAM, a
high-resolution monochrome monitor,
2-button mouse, and 3.5" disk drive.
At $999, the 1040ST gives you 1024
Kbytes of RAM, an ultra high- resolution
monochrome monitor, 2-button mouse,
and a built-in double-sided 35" disk
drive, plus built-in power supply. Both
the 520ST and the 1040ST can be con-
nected directly to your own color TV
Or you can add an Atari RGB color monitor
to get the sharpest, most colorful images
possible. Add $200 for color monitor.
It's simply a matter of choosing which
model best fits your needs.
And whether you choose the 520ST
or the 1040SX you'll be getting the
power and speed of a Ferrari for the
price of a Ford.
In fact, you'll save hundreds and in
some cases thousands of dollars over
comparable computers. Which is why
consumers are still ecstatic. Why the '
critics are still writing rave reviews.
And why the competition is still stunned.
AATARI
®
POWER WITHOUT THE PRICE:
make excellent use of the Mac's
high-resolution monochrome
graphics. Smce the Amiga and the
ST each boast superb color graphics
as well as high-resolution modes
surpassing the Mac's, video digiti-
zation hardware and graphics soft-
ware are becoming even more
flexible and powerful.
As computers grow more capa-
ble of handling video images, other
manufacturers are gearing up to
take advantage of new markets ex-
pected to develop. Toshiba and Po-
laroid have announced products
which strengthen the connections
among computers, photography,
and video. The two companies are
jointly introducing a new instant
video film recorder that produces
instant color prints or slides from a
TV set or monitor and has optional
RGB (red-green-blue) computer in-
put. The recorder features digital
freeze-field capture, color preview
capability, and accepts standard
NTSC (National Television Stan-
dards Committee) signals.
The recorder captures and digi-
tizes any image from a TV screen,
whether the signal originated from
a broadcast station, VCR, video
camera, or any other standard vid-
eo device. When equipped with the
appropriate camera, the result is an
instant photo print or 35 mm slide.
With the push of a button, you
could freeze one frame of your
home movies, your favorite rock
video, or a TV show, and then in-
stantly produce a color picture. The
recorder is expected to be available
by midyear.
Polaroid is also introducing
this year an improved version of its
Palette computer image recorder.
The Palette provides presentation-
quality photos from computer
graphics generated by a wide vari-
ety of computers, such as the Apple
II series and the IBM PC family. It's
capable of handling image resolu-
tions up to 920 X 700, depending
on the combination of hardware
and software. Almost all presenta-
tion-graphics and graphics-editing
software is compatible with the
under-$2,000 system.
Although few personal com-
puter owners will spend
several thousand dollars to
buy such video systems for the
home, the next few years will see
26 COMPUTEI April 19S6
dramatic price drops as technology
improves and costs decline.
For example, Kodak's Con-
sumer Electronics Division plans to
introduce a still video system that
allows you to select and record in-
dividual video images. The sys-
tem's player/recorder captures
images in realtime from any NTSC
video signal and stores up to 50
images on a tiny floppy disk. An
adjunct to this system is a film-to-
disk transfer station that may be
installed at film processors; you
could have 35 mm color negatives
transferred to the floppy disk, then
view the pictures at home on your
TV — ordering regular prints later, if
you like.
Kodak had also planned to an-
nounce a new color video imager
for producing instant prints of any
video image. However, a recent de-
cision by the U.S. Supreme Court
on behalf of Polaroid has forced
Kodak to withdraw from the instant
photography business. Although
Kodak had expected initial sales of
the video imager to be in commer-
cial and industrial applications, the
iong-range plan was to make the
product part of home computer and
video centers, according to Richard
D. Lorbach, vice president of Ko-
dak's consumer division.
"We anticipate that the color
video imager eventually will be
used as a home entertainment cen-
ter component," said Lorbach
before the court decision was hand-
ed down. "Our market research in-
dicates that there is significant
consumer interest in being able to
make photographs of personal im-
ages displayed on TV screens."
This type of video system pre-
sents a wide range of possibilities.
For example, by capturing images
from your home videos, you could
make a slide show of still shots or
produce prints or slides for family
albums. Computer artists could
take their digital paintings or im-
ages captured from a video source
and create their own sequenced
video show. With the appropriate
computer software, text could be
overlayed on any of the images.
There are hundreds of business
and industrial applications for this
technology. Rather than spending
thousands of dollars on outside
production of sales and marketing
presentations, almost any business
would have access to high-quality
video production. A real estate
agency could take photos or video-
tapes of its properties, add textual
information on prices and other de-
tails, and then show the resulting
package to their customers. Any of
the frames could be turned into
glossy prints for the house-hunters
to keep for reference. The ramifica-
tions are virtually limitless.
One of the most important
developments in the mar-
riage of computer and vid-
eo technology is the introduction of
digital TVs — TV sets that convert
the incoming analog broadcast sig-
nal into digital form. Toshiba,
Sony, and most of the other large
consumer electronics companies
have invested millions of dollars to
develop digital TV. Exceptionally
clear pictures are only one of the
benefits of this research. Digital
TVs also have what's called PIP
(picture-in-picture) capability —
they can partition the viewing
screen by opening separate "win-
dows" for simultaneously display-
ing other video signals.
An example is the 26-inch DT-
2680A TV receiver/monitor from
NEC Home Electronics. It can si-
multaneously display the picture
from the station that's tuned in plus
moving pictures from any of three
auxiliary video inputs, or color
computer graphics through the set's
RGB input. You can watch two
channels at once, or a channel and a
videotape, or even work with your
home computer while watching TV
on the same screen.
The picture you'll be watching
is much sharper, too. Today's con-
ventional TVs offer approximately
250 lines of horizontal screen reso-
lution, while the NEC digital TV is
capable of resolving up to 500 lines.
This is actually more resolution
than is available from broadcast
signals. Through special filtering,
the digital TV displays a broadcast
screen resolution of 336 lines — the
best that's possible with today's
broadcasts.
In addition, the NEC digital TV
has enough microprocessor-based
memory to store up to three differ-
ent still video pictures at a time. By
pressing a button on the remote
control, you can capture any video
image and display it as an SVi-inch
O TVS BoTipulsr Eah Blub®
/•'—•-•■^- Recognized as the authoritative source for micro usersi
Superior Performance,
Practical Price!
More programs, projects, ways to use your micro
for home, hobby, education, and business!
Select 5 Books
for Only *2~
moossus E i*«!S
^y-
' >Xt
^%|
., lu u=-.u
_.
_ji£ii23^LJ
1831P 1407 r976P
U>t $9.95 (paper) List $17.95 LliI $17.95 (paper)
Free guide to
BASIC Statements
& Commands
1427P
Llsl $12.95 (paper)
1275
Llat $15.95
Plus FREE For Joining
7 very good reasons to join
The Computer Book Club®
• Big Savings. Save 20% to 75% on books sure to in-
crease your computer know-how
• No-Ris>( Guarantee. All books returnable witbin 10 days
without obligation
• Club News Bulletins. All about current selections-
mains, alternates, extras — plus bonus offers. Comes 13 times
a year with hundreds of up-lo-the-minute titles to pick from
• Automatic Order. Do nothing, and the Main selection
will be shipped automatically! But . . . if you want an Alter-
nate selection — or no books at all — we'll follow the instruc-
tions you give on the reply form provided with every News
Bulletin
• Bonus Books. Immediately get Dividend Certlficales with
every book purchased and qualify for big discounts of 60%
to 80%
• Extra Bonuses. Take advantage of added-value promo-
tions, plus special discounts
• Exceptional Quality. All books are first-rate publisher's
editions selected by our Editorial Board and filled with useful
up-to-the-minute information
P.O. Box 80, Blue Ridge Summit, PA 17214
Please accept my membership in The Computer Book Club* and send the 5
volumes circled beiow, plus my FREE copy oi BASIC Statements, Commands and
Functions billing me only $2.95 plus shipping and handling charges. If not satisfied,
I may return the ixioks within ten days without obligation and have my membership
canceled, i agree to purchase 4 or more books at regular Club prices (plus ship-
ping/handling) during the next 12 months, and may resign any time thereafter.
1000P 1160 1228P 1275 1295P 1407 1427P 1522 1540
1718P 1737 1748P 1750P 1811 1831P 1873 1876 1882 1884
1907 1945 1951 1960 1976P 1993 1997 2627 2648
Name
Address-
City
State
-Zip-
_Phone_
Valid for new members only. Foreign applicants will receive ordering Instructions. Canada must
remit in U.S. currency. Thl3 order subject to acceplanee by The Computer Book Club* .
CMPT-486
(diagonal) window within the 26-
inch screen. Meanwhile, the back-
ground video image is unaffected.
You could freeze-frame a fullback
plowing through the line while
watching the play continue on the
main screen.
As might be expected, the con-
nection capabilities and special fea-
tures of such a TV set go far beyond
the few video and audio plugs
found on even the better current
sets. The NEC digital TV contains a
stereo amplifier and stereo speak-
ers, three sets of line video inputs
for VCRs, video disc players, color
cameras, and home computers, and
an eight-pin RGB input. Outputs
include a monitor jack that carries
whatever is on the screen, a TV
output that carries whatever chan-
nel is tuned, external speaker out-
puts, fixed audio line outputs for
recording, and variable audio line
outputs for volume-controlled con-
nections to an external sound
system.
As NEC vice president Gerry
Tangney says, this "is a taste of the
future of home TV." The NEC digi-
tal set is expected to be introduced
in May, with the price to be an-
nounced soon.
Another new technology al-
ready on the horizon is high-defini-
tion TV (HDTV), an enhanced
broadcast signal that offers 1,125
scan lines of information instead of
the 525 now used in conventional
American TV broadcasting. This
would require broadcasters to up-
grade their equipment, however,
and efforts to adopt an HDTV stan-
dard have reportedly been mired in
international and corporate dis-
agreements over how to bring
about this doubling of screen
clarity.
The growing popularity of com-
pact disc (CD) audio players
has given new impetus to the
development and widespread con-
sumer distribution of their digital
data cousins, called CD-ROMs
(Compact Disc-Read Only Memo-
ries). Although these laser discs are
only 4.72 inches in diameter, they
are capable of storing 600 mega-
bytes of information on a single
side, with an access time of
seconds.
The first company out the door
with CD-ROM players in the retail
28 COMPUTEl April 1986
market is the Subsystems and Peri-
pherals Division of North Ameri-
can Philips Corporation. Its CM 100
disc player and CM 155 controller
card works with the IBM PC-
compatible computers (other inter-
faces will be announced this year).
Available with the Philips CD-
ROM player is Grolier's The Elec-
tronic Encyclopedia, the equivalent
of a 20-volume reference collection
on just about a quarter of one side
of a CD-ROM disc. Although the
initial purchase price of $1,495 may
keep initial sales out of the home
market in volume, the price for CD-
ROM technology is expected to
drop quickly over the next couple of
years.
Philips has introduced its CD-ROM
drive which comes zvith Grolier's Elec-
tronic Encyclopedia on a compact disc.
The entire package sells for $1,495.
Technology occasionally
moves in mysterious ways, and an
example can be seen in new prod-
ucts which have taken advantage of
the popularity — and intimidation —
of word processors. Casio's new
CW-30 Personal Typewriter blends
the comforting familiarity of a type-
writer with the ease of use of a
computer word processor. The
$399.95 hybrid machine looks very
much like a standard electric type-
writer. But a quick look at the key-
This Casio computer-compatible elec-
tronic typewriter is a hybrid — part type-
writer and part word processor — that
can connect to a computer to serve as a
printer.
board also shows a set of cursor and
special function keys, plus a 15-
character liquid-crystal display
window for editing.
One of the most interesting
features of the Casio typewriter is
that it's computer-compatible. It
contains both a Centronics-
standard parallel interface and an
RS-232 serial interface that lets the
typewriter become a computer
printer (plain or thermal paper). It
can be hooked up to a 300 baud
modem for uploading and down-
loading text with a computer. It has
built-in pica and elite pitches, right
justification, and multiple type
fonts: boldface, underlining, dou-
ble-wide characters, special sym-
bols, and foreign alphabet
characters. It has enough memory
to store two pages of text, and with
an optional memory expander, up
to ten pages of text. Small remov-
able memory cards let you save and
store text. Casio obviously hopes to
capture the best of both worlds,
typewriters and word processors, at
the same time it is attracting those
who don't want to give up type-
writers, but are fearful they're being
left behind by word processors.
The Magnavox VideoWriter is an $800
dedicated word processor aimed at the
home market.
Magnavox has taken a differ-
ent approach with its new Video-
writer, a dedicated home word
processor that contains its own soft-
ware, printer, spelling checker, and
18-line monitor (smaller than a reg-
ular computer screen, but larger
than most portable computers). The
$800 Videowriter has a memory ca-
pacity of approximately 70 pages of
text, automatically stored on stan-
dard 3V2-inch disks. While dedicat-
ed word processors have been used
in offices for years, it's unusual to
see such a product for the home
market, especially considering the
number of people who buy multi-
purpose computers primarily for
word processing.
Computers are converging
with yet another technology, too —
telephones. For example. Commo-
dore is planning to introduce its
new 1100 AnswerMate, a program-
mable computer-controlled tele-
phone answering machine for the
Amiga. The AnswerMate connects
to the Amiga's RS-232 port and to a
telephone. Not only does it play
back your taped greetings and re-
cord messages, but it also can re-
spond with messages generated by
the Amiga's built-in synthesized
voice. And multitasking software
included with the AnswerMate lets
it answer phone calls while you're
busy using the computer for other
things. (Price to be announced.)
Commodore's AnswerMate connects to
the Amiga computer to serve as a tele-
phone answering machine that can make
use of the Amiga's multiprocessing and
synthesized speech capability.
There is scarcely an area of con-
sumer electronics which is not
moving either directly or indi-
rectly toward the personal com-
puter, either as a peripheral or as a
microprocessor-based stand-alone
device. Even the ways in which
computer users receive their soft-
ware may be undergoing change in
the future.
For example, Cauzin Systems,
with backing from Kodak, has de-
veloped the Softstrip system of
information storage. Data is en-
coded on a strip of paper in a format
similar to — but more compact
than — the familiar bar codes found
on consumer products. One strip,
which typically measures 9V2 by %
inches, can store up to 5,500 char-
acters (about three typewritten
pages). The strips can be printed on
ordinary paper and are read by an
electro-optical scanner. Connected
to a computer, the scanner reads
the coded strips and transfers the
data into memory for later storage
on disk.
Further examples of converg-
ing electronics technologies abound
in virtually every field. The emer-
gence of stereo TVs and VCRs, cou-
pled with a stereo-capable
computer such as the Amiga, obvi-
ously opens new possibilities for
audiophiles. Interactive video,
spurred by improvements in laser
discs, is another rapidly evolving
technology with a connection to
personal computing. Radio signals
relayed by satellites can carry data
accessible by computer users. Use
of electronic mail systems is expect-
ed to jump from less than a billion
messages a year today to more than
20 billion by the end of the decade,
ultimately becoming a major ser-
vice as common as the telephone
and the U.S. mails.
As media consultant David Al-
len noted earlier, technology is ca-
pable of virtually anything today;
but the successful marketing of an
idea is the key to its success. In the
forseeable future, neither technol-
ogy nor the marketplace shows any
signs of slowing down. &
Attention Programmers
COMPUTE! magazine is currently
lool<ing for quality articles on
Commodore, Atari, Apple,
and IBM computers (including
the Commodore Amiga and
Atari ST). If you have an
interesting home application,
educational program,
programming utility, or gome,
submit it to COMPUTE!, P.O.
Box 5406, Greensboro, NC
27403. Or write tor a copy of
our "Writer's Guidelines."
jjjgjgfpi
23 PARK ROW, NEW YORK. H.Y. 10038
™f??f? 800-22 1-8 180 E,j^^^"
IIJM XT COWATIIU coMnnit
Hini tMxio ^iviDiu moxm
Hivft tMIOM ItH HOOfM
uCHOil'»<'0 C4J 111 MOHM
XTKM ukx'll- MOMlfdA
TAXAM 210 U-MONtlOir
^649"
>499"
'ST!"
'W
W"
W
T79"
nu HOOMCi ifrne dpt kuno
JJKt 4100 LlinV qVaUTT
EfKm JX40 WW COLOC HHTU
ID0Tt4l M^l»* »T MATWX/MLQ
inM ift<*>j rwi TOT lumt
AlADt toij tlTni BUAUTY
tFlQM IX W? DOT HAIBII
jcinc km 'tenon TrACTOt
cahom' a so aoi tu^ht
OKJDATA ff zr MlCnUNl
■U9-
114?"
es
mmmm
auM III nut A>.nra^i(ii« lUm
KEMtT BUM i* fajb Ldoc atn
JET SuB'.ogic
m siBnun^rsxiPuDi'tKng «mm
Hw>Mt> roil »ico wmno*
**«! coi*ui* Mwwji joinw
biM UM K1»Q Ptsmi ITAHO
cucwma tnaHum rtgrKTOt
tUlOCO »WI CM »■« WHf *a
tiM tma »o i I e au mtnui
HCOrCH ciXM DdH DIM OJjMa
MM CT90 IMJUl eet^'iJtt DIM
MAHM y/nofrt oaiami
COIiWUMtVt IT*IT|» in
IS"
"XT
TO"
wmnsmmmmmm
TAX AC\ih:A;ri
nftacuf i^ ■.--. : . . .■■.:
STKFEU KVl i,r:t>tiim
FUCKI CMtiurW M iijb log*
MOW MJUCn r»K«Qnc Mi
AlUMHITU Hits Man ^
lAitileM M CHitl )*ard*n"
niTfai'^MASU u'cra how
W1P PgO(l»IOHAI. V I * ]»cln
ciNCsauisi II ieiTO
HWr^C H3r3 1.11 -I
tiinvuiE 1:9 ' '
WO«) WVilll ;: ■ -
piPfocup e.aiv<ai i'-<<u'iaa
HIVkOk Ca»OL <Zit-r-T--<Me,'i
'If*
124*
129*
1J4H
'22^
14^
m
HJkRDUUi ucoua*
mt HfiwtMCM IpnulM
tWrr TU Trn^iwO^
UUMT HlVm MlciQ Ftew
MIHTSMC* |r«**gM
CQMPVna UWHH }«
WW n/in ■ bnoA ■ knuitr'
t34»
'39"
~-— ■>»""-'-"
-^"-^^
--'JV"
f ^
ULTMA rV:
Ountolirw
1.1. -no il -kid •'AC* 'a-£4^-'*3j£-. M
I *39» J
hMfOiNT ?lriDaj-i' IcrrwgM
CATAiin Vlff JO a-jan
MOEfUt 0>ig«i loRwOFt
WTptg* CCiVMfH IwN'thnd
HAUIT MMjKT WtfUKoip*
tnUMHUIt Intocon
UIMAANQ KHJt IWWr Mmo
aUf)«CI IWkMHt lDnnn»«
tjUOi TjIU iMcnonic Aiii
KTTU MOtD HKKItlOl Sf^rv^rtfr
w
»24*
>34*
If * Unwilrnj
a I^)i7i*itf .nvEir £4{ffi CJ>i|<.$ aiF^Mnff WIP-
NOTE
|l fVir* MAfSi? SJU.>«3 T¥irS LrSTl.'tf Ji Art! A SMAU SAJMPlf IS
CUB lOPXOCOrtVtfmXY J^EAU CALiu^TOuFlifEK wAtrc
TO US toe ofKii y^ rrsvi »*0r {.rms w, ina *o
ALL PRODUCTS CARRY U.S. WARRANTIES
AU DEFECTIVE PRODUCTS EXCHAnGED VrlTHI?i 30 DAYS
amfm^tn^i/miytf.i
^ ALL MEW ^
I /fob 19e6\
I -AtiaiO viaco COMPUTER
f 'AfCOAD. CA^SCT-JT
; AAC CDC^T,4tOC
« 'YlOtO mO¥tt CATALOG
:-i;r,
•T^
CATALOGS
mxtt o«nt iMcx onuru ii
i 23 PARK ROW, DEPT. C4, NYC, NY I0038
Report From:
The Winter Consumer Electronics Show
A Turning Point
For Atari?
Tom R. Halfhill, Editor
Following up its strong showing at the
Comdex computer show in November, Atari
introduced a more powerful version of its ST
at the Winter Consumer Electronics Show in
January. Thanks to increasing sales, growing
software support, widening distribution, and
hints of new enhancements to come, industry
watchers are suddenly taking more notice of
Atari's hid for a comeback. Meanwhile,
Commodore also entered 1986 with
encouraging sales and Apple
is responding with an
improved Macintosh and
lower prices.
30 COMPUTE! April 1966
A year ago it seemed impossi-
ble. Commodore founder
Jack Tramiel had split with
his successful computer company
after a management dispute,
bought the debt-ridden Atari that
he had nearly destroyed in price
wars, installed his sons in key posi-
tions, laid off most of the work
force, rushed the design of a power-
ful 16/32-bit machine in
only six months, intro-
duced it at an unheard-
of low price, and
announced he was go-
ing to resurrect Atari as a
major contender in the
personal computer
marketplace.
Atari still isn't
home free. But the house
that Jack built suddenly
seems a lot more solid.
Strengthened by
encouraging sales of the
520ST — according to es-
timates, at least 100,000
units worldwide through
Christmas — Atari is now
attracting more attention
within the industry.
"Frankly, a lot of people
didn't think Jack would
make it this far," says one
observer. "Now they're
The new Atari 1040ST is the first one-
megabyte computer for under $1,000. It
has 1,024K of RAM and a built-in, dou-
ble-sided disk drive.
taking him a lot more seriously."
If Atari's comeback ultimately
succeeds, the six-week period be-
tween late November 1985 and ear-
ly January 1986 may well become
recognized as the turning point.
During that period. Atari piled up
sizeable holiday sales and made
impressive appearances at two cru-
cial industry trade shows: Fall
Comdex and the Winter Consumer
Electronics Show. Both are held an-
nually in Las Vegas and are among
the largest trade shows in the U.S.,
with upwards of 100,000 people at
each event.
At Comdex, which is oriented
toward business computing. Atari
demonstrated to skeptics that its
520ST was a real machine with
dozens of software packages. At
CES, a show that encompasses ev-
ery consumer electronics product
imaginable, Atari was the only ma-
jor computer manufacturer in
attendance and made three impor-
tant announcements: the new
1040ST, a more powerful version of
the 520ST with one megabyte of
memory and a built-in disk drive-
price reductions of $100 for the
monochrome and color 520ST sys-
tems; and a shift to mass-market
outlets such as department stores
for the 520ST.
Atari's appearances at Comdex
and CES seemed all the more im-
pressive due to the conspicuous ab-
sence of its closest competitor.
Commodore. People were surprised
when Commodore missed Comdex
because the company has been try-
ing to position the Amiga as a busi-
ness computer and Comdex was the
ideal place. But there was shock
when Commodore bowed out of
CES because Commodore has never
missed a CES since the days when
wristwatches and calculators were
its stock in trade.
Commodore didn't have much
to say about missing the shows.
However, one Commodore execu-
tive admitted he was "uneasy"
about the reaction at CES — ironi-
cally, the rumors of imminent fi-
nancial catastrophe that once
followed Atari were now being
whispered about Commodore. The
rumors proved untrue, however,
and Commodore says it definitely
plans to attend the Summer CES in
Chicago this June.
Actually, Commodore finished
1985 with heavy sales of its own.
According to reliable estimates.
Commodore sold about one million
64s, as many as 500,000 Commo-
dore 128s, and at least 20,000 Ami-
gas. Even Commodore was caught
off guard by the 64 and 128 sales. In
fact, insiders say Commodore tried
twice during the fall to discontinue
the 64, but had to restart production
both times to meet sudden demand.
As an indication that Amiga sales
are healthy, the leading indepen-
dent software supplier for the com-
puter— Electronic Arts — says it re-
covered all of its 1985 Amiga devel-
opment costs within two weeks after
releasing its first Amiga products.
Although Atari and Commo-
dore are still struggling financially,
both have survived a rough market
in 1985 and appear to be in better
shape for 1986.
Since Atari was the only ma-
jor computer company ex-
hibiting at CES (IBM and
Apple routinely avoid this show),
most of the computer news was
Atari-related. The main event was
the introduction of the 1040ST, the
first one-megabyte computer sell-
ing for under $2,500. In fact, it's the
first one -megabyte computer sell-
ing for under $1,000.
April 1966 COMPUTB 31
The 1040ST is basically an en-
hanced 520ST and is fully compati-
ble with existing ST software and
hardware. The keyboard and all in-
terfaces are identical: RS-232 serial
and Centronics-standard parallel
ports; in/out MIDI (Musical Instru-
ment Digital Interface); floppy and
hard disk interfaces; plus mono-
chrome and analog RGB monitor
outputs. The graphics-oriented user
interface, GEM (Graphics Environ-
ment Manager), is the same.
New features on the 1040ST
include one megabyte (1,024K) of
Random Access Memory (RAM),
twice the amount that comes with
the 520ST; a built-in, double-sided
SVi-inch disk drive with a capacity
of 770K per disk, twice the capacity
of the drive sold with the 520ST; a
TV output jack; and an internal
power supply for both the com-
puter and drive, reducing the famil-
iar clutter of external cables.
Like recent-model 520ST5, the
1040ST comes with its Tramiel Op-
erating System (TOS) in Read Only
Memory (ROM) chips, freeing up
more than 200K RAM that used to
be required when loading TOS
from disk. Also like the 520ST, the
1040ST comes with ST BASIC, the
NEOchrome graphics -drawing pro-
gram, and a word processor, 1st
Word (the 520ST comes with ST
Writer). Atari says 1st Word has
GEM features such as drop-down
menus and on-screen type fonts.
{ST Writer, by contrast, is a direct
translation from the AtariWriter
word processor for eight-bit Ataris.)
There are two different 1040ST
packages. With a high-resolution
monochrome monitor, the suggest-
ed retail price is S999.95, With an
analog RGB color monitor, the price
is $1,199.95. Atari says the 1040ST
will be sold only through computer
dealers and should be available
immediately.
The 520ST also underwent
some minor changes. The
latest models will be shipped
with TOS in ROM and a TV output
jack. To widen distribution, the
520ST will be sold through mass-
market outlets in three different
ways. A system that includes the
computer, a single-sided 3V2-inch
disk drive (380K capacity), and hi-
res monochrome monitor will now
32 COMPUTE! April 1986
be priced at $699 suggested retail.
The same system with an analog
RGB color monitor instead of the
monochrome screen will be priced
at $899. Both prices are $100 lower
than before. The 520ST compo-
nents are also available separately:
$399 for the computer, $199 for a
single-sided drive, $299 for a dou-
ble-sided drive, $199 for the mono-
chrome monitor, and $299 for the
RGB monitor.
by lining up a series of computers
running the now-famous Amiga
bouncing ball demo. (A screen pho-
to of this demo appears in COM-
PUTEf's cover story on the Amiga in
September 1985; it shows a red-
and-white checkered globe spin-
ning and bouncing around the
screen, casting a transparent shad-
ow on the background.) An Amiga,
520ST, Macintosh, and eight-bit
Atari 130XE spent four straight
^c,/.^,uLjL/
I f ( r ( I < ( I I I ( I t I
' ( t I I I t I I I ^ I I 1 I
t-A-i I I 11 1,1 1.1 j'
' /F I iiiir
Atari's 520ST has been improved with a ROM-based operating system, a TV output
jack, and a $100 lower price. Also, for the first time, the computer and other
components tvill be available separately in mass-market outlets.
Rumors abounded at CES
about new developments for the ST
line, including a better graphics
chip, a bit-block transfer chip simi-
lar to the one in the Amiga, a 5'/*-
inch disk drive adapter for use with
an IBM PC emulator, and more.
Officially, Atari won't confirm or
deny if it's preparing to introduce
any of these products in the near
future.
However, Atari is expected to
announce at least one enhancement
at an upcoming computer show in
West Germany (about half of all ST
sales are in Europe). The most like-
ly possibility is the bit-block chip,
which allows faster screen graph-
ics. Also, it is now known that three
companies outside Atari are work-
ing on PC emulators for the ST,
each taking a slightly different ap-
proach. At this writing (mid-Janu-
ary), none of them is expected to be
ready for several months.
Atari's CES exhibit poked fun
at the Amiga and Apple Macintosh
days dribbling checkered balls at
the Atari booth. Oddly enough, the
130XE version was perhaps the
most impressive of all. Not only
was the 130XE bouncing a checker-
ed ball, but also a 3-D image of the
Atari logo decorated with 128 rip-
pling colors.
Apple hasn't been oblivious to
the competition, and a week after
CES announced an improved ver-
sion of the Macintosh and lower
prices for the 512K Mac. The new
Macintosh Plus has one megabyte
of RAM, a double-sided disk drive
that stores 800K (twice the capacity
of existing Macintosh drives), a re-
designed keyboard with numeric
keypad and cursor keys, a faster
operating system, and an extra pe-
ripheral port called the Small Com-
puter System Interface. The
suggested retail price is $2,599. The
512K Mac was reduced from $2,499
to $1,999, and kits are available so
owners of 128K and 512K Macs can
upgrade to the Mac Plus.
Now Get Up To 200 FREE Programs* When You
Subscribe to COMPUTE! Today.
Subscribe to COMPUTE! today and you'll be getting a lot more
than just another computer magazine. That's because COMPUTE!
comes complete with up to 20 FREE programs in each big issue.
Subscribe now and you can depend on a steady supply of high
quality, fun-filled programs like Cash Flow Manager, Speed Ski,
Turtle Pilot, Boggier, Text Plot, Retirement Planner, and hundreds
of other educational, home finance, and game programs the entire
family can use all year long.
The free programs alone are worth much more than the low
subscription price. But there's more to COMPUTE! than just free
programs.
COMPUTE! s superb articles deliver the latest inside word on
everything from languages to interfaces.. .programming to disk
drives. And our up-to-the-minute software reviews are must read-
ing for any home user.
Whether you're a novice or an experienced user, COMPUTE! is
perfect for you. So subscribe today. Return the enclosed card or
call 1-800-247-5470 (in Iowa 1-800-532-1272).
COMPUTES Publicationsjnc,
Part ot ABC Consumer Magazines, m^:
One ot the ABC Publishing Companiei
625 7lh Avanue. frtn FloOf. N«w Vofk. hJV 10019
PuoUfwi of CO'vVMT COMPUTE' i Coivnv CDNnjTE* i Ga»n* [>i> cOsw^t' Kk-i cm CO«v''£' I *tic— ADpK'Oio^
"Ranging from short techniques and programming tips to complete, powerful applications programs.
Atari didn't ignore its older
products at CES. Among
other things, two new
eight-bit computer packages were
unveiled.
The 130XE, a 400/800/XL-
compatible computer with 128K
RAM that was introduced last year,
will now be available in a $399
package that includes a 1050 disk
drive, 1027 printer, and five pieces
of software: AtariWriter, Music
Painter, Paint, Star Raiders, and Si-
lent Butler. The 130XE is still avail-
able separately for $149.
Atari's new lowest-end com-
puter is the 65XE, a 400/800/XL-
compatible machine with 64K
Relics from another age? Nope. Video-
game machines are still selling so well
that Atari has redesigned the nine-year-
old 2600 and introduced a new model,
the 7800.
RAM. It was actually announced at
last year's Winter CES, but was
withheld from the market until ex-
isting inventories of 800s and
800XLS were sold out. The 65XE
will be sold separately for under
$100 or in a package similar to the
laOXE's for $300-$350.
Much to everyone's surprise.
Atari also came to CES with a rede-
signed 2600 videogame machine
(formerly known as the VC5) and
the new 7800 game machine.
What's that, you thought video-
game machines were dead? Guess
again. Atari says it sold over a mil-
lion 2600s in 1985. Apparently
many of them are going to new
markets overseas — including, we
hear, the People's Republic of
China.
34 COMPUTEI April 1986
The revamped 2600 is smaller,
lighter, sleeker, has a carrying han-
dle, and costs less than $50. The
7800 machine was one of the last
projects of the old Atari before Tra-
miel took over, and is now being
unpacked from mothballs. Thanks
to a chip named MARIA, the 7800's
graphics are superior even to those
of the eight-bit computers, and the
machine accepts all 2600 cartridges
without an adapter. It sells for less
than $80 and comes with a new
version of Pole Position, the hit car
racing game.
Computers aren't much good
without software, and Win-
ter CES demonstrated that a
lot of companies are bringing out
new programs for the ST and
Amiga as well as popular eight-bit
machines. Unfortunately, there
were a lot fewer software compa-
nies at this CES than last year's.
The West Hall, a large building
which supplements the main Con-
vention Center, once was filled
with software publishers. This year,
only a handful of them shared
space with companies selling satel-
lite dishes, videotapes, cable TV ac-
cessories, and other periphernalia.
The last two years have been tough,
and many software developers
either can't afford to exhibit at CES
anymore or are out of business
altogether.
Still, some fascinating products
are on the way. Starting with ST and
Amiga software, here's what's new:
Electronic Arts (San Mateo,
California) announced several new
programs for the Amiga and its first
products for the Atari ST. New
Amiga software slated for release
this year includes Deluxe Music, a
note-oriented composition pro-
gram; Instant Music, a composition
program for nonmusicians; Arctic-
fox, a strategic combat tank simula-
tion;/Irfuejjfure Construction Set, for
do-it-yourself adventure games; and
Deluxe Printing Construction Set.
A previously announced Elec-
tronic Arts program. Deluxe Video
Construction Set, is due for release
soon. It lets you create animated
sequences that can be integrated
with screens created in DeluxePaint,
a drawing program released in De-
cember. (Electronic Arts says it
Arcticfox is a new strategic tank game
for the Amiga from Electronic Arts.
This is the Amiga version o/ Marble
Madness, but Electronic Arts is also
bringing out an Atari ST version of the
game.
II Hi II III II III II III
- ... , . 1
,ii-:i UajJ
Deluxe Music is a note-oriented compo-
sition program designed for the Amiga
bv Electronic Arts.
Even if you don't know much about mu-
sic, you can play songs on an Amiga
with Electronic Arts' Instant Music pro-
grajn. It has numerous built-in instru-
ment sounds and doesn't rely on
standard musical notation.
NRI Trains You At Home— As You BuUd Your Own IBM-Compatible Computer
GET THE KNOW-HOW
TO REPAIR EVERY
COMPUTER ON THIS PAGE.
Learn the Basics the NRI
Way-and Earn Good
Money Troubleshooting
Any Brand of Computer
The biggest growth in jobs
between now and 1995, according
to Department of Labor estimates,
will occur in the computer service and
repair business, where demand
for trained technicians will
actually double.
You can cash in on this
opportunity— either as a
fulitime corporate technician
or an independent service-
person— once you've learned
all the basics of computers the
NRI way. iNRI's practical
combination of "reason-why"
theory and "hands-on" building
skills starts you with the hindamentais
of electronics, then guides you through
advanced electronic circuitry and on
into computer electronics. You also
learn to program in BASIC and machine
language, the essential languages for
troubleshooting and repair.
YeuBuild-andKeep-a 16-bil
Sanyo personal computer
The vital core of your training is the
step-by-step building of the 16-bit Sanyo
MBC-550 series computer. Once you've
mastered the details of this state-of-the-
art machine, you'll be qualified to
service and repair virtually every major
brand of computer, plus many popular
peripheral and accessory devices.
With NRi training, you learn at your
own convenience, in your own home.
You set the pace— without classroom
pressures, rigid night-school schedules,
or wasted time. You build the Sanyo
IBM compatible computer from the
keyboard up, with your own personal
NRI instructor and the complete NRI
technical staff ready to answer your
questions or give you guidance and
special help whenever you need it.
Praised by critics as the "most
infriguing" of all the IBM-PC compatible
computers, the new Sanyo uses the same
8088 microprocessor as the IBM-PC and
IBM is B Keglstared TiBdomarti o1 Smemational
Business Machine C0rporaliofi.
Epson is a RegistonKj Trftdemarit el EpstTn
Amaiica, inc.
features the MS/DOS operating system.
As a result, you'll have a choice of
thousands of off-the-shelf software pro-
grams to run on your completed Sanyo.
Your NRI course includes
installation and troubleshooting of the
"intelligent" keyboard, power supply,
and disk drive, plus you'll check out
the 8088 microprocessor functions, using
machine language. You'll also prepare
the interfaces for future
peripherals such as printers
and joysticks.
100-Page Free Catalog
Tells More
Send the coupon today for
Niy's big 100-page color
catalog on NRl's electronics
training, which gives you
all the facts about NRI
courses in Micro-
computers, Robotics,
Data Communica-
tions, TVA'ideo/
Audio Servicing, and
other growing high-tech
career fields. If the coupon is
missing, write to NRI Schools,
3939 Wisconsin Avenue, NW,
Washington, DC 200 16.
your NRI course
includes the
Sanyo lB-bil
IBM compat- ^
ibte com-
putQr witii
12SK RAM,
monitor,
double densityMouble sided disk drive,
and "intelligent" keyboanJ: the NRI
Discovery Lab ', leaching circuit design and operallons;
a Digital Muittmetef; Bundled Spread S^eet and Word
Pfocesstng Software wortti overSIOOOat relaii— and more.
SCHOOLS
McGraw-Hill Continuing Education Center
3939 Wisconsin Avenue, Washington, DC 20016
We'll give you tomorrow.
BTcheck one free catalog only
D Compiitsr Boctninlcs wttli MicrocDinpitlers
D Data Communications
D Roboiics & Industrial Comrols
n Video Eleclronics Servicing
n Electronic Design Technology
□ Digital Eleclronics
For Career courses
approved under Gl bill,
D check for deiails.
D Saieliiie Comraunlcaiions
n Comniunicalions Electronics
n Industrial Electronics
n Basic Electronics
D Telephone Servicing
D Small Engine Seniicing
n Appliance Servicing
n Automolive Senncing
n Air Conditioning, Healing,
Reffigeralion. & Solar Technology
D Building Construction
n Lxksmithing & Electronic
Security
Nama (Pieass F^int]
Street
CityrataieJZlp
Accredited b^ tiie National Home Stjdv Council
shipped 15,000 copies of Deluxe-
Paint the first two weeks.) Scores
composed with Deluxe Music can
also be integrated with Deluxe Vid-
eo Construction Set.
ST software from Electronic
Arts includes two programs already
released for the Amiga: Financial
Cookbook, a home fir\ancial planner,
and Marble Madness, an arcade
game. Prices for Electronic Arts'
Amiga and ST software range from
$39.95 to $79.95.
Hippopotamus Software (Los
Gatos, California) is bringing out
the Hippo ST Sound Digitizer and
Hippovision Video Digitizer for the
Atari ST. The sound digitizer plugs
into the printer port and lets you
sample, modify, and play back any
type of sound. It includes special-
effects software and a microphone
for $139.95. The video digitizer lets
you capture images in 256 X 256-
pixel resolution from any compos-
ite video source, such as a video
camera, videocassette recorder,
videodisc player, or TV tuner. Pic-
ture files are compatible with Atari's
NEOchrome drawing program, can
be printed on color printers, and can
be transmitted via modem. The
price was not announced.
Hippopotamus has 13 other ST
programs scheduled for release
soon, including HippoWord, an
$89.95 word processor; HippoCon-
cept, an idea processor, $89.95;
HippoSimple, a database manager,
$49.95; Hippo Disk Utilities, $49.95;
HippoBackgamrnon, $39.95; Hippo-
Spell, a spelling checker with
30,000-word dictionary and user-
definable terms, $39.95; Hippo
RAMdisk, $34.95; Hippo Computer
Almanac, which contains over
35,000 facts on everything from
area codes to sports trivia, $34.95;
Hippo Jokes & Qwotes, with selecta-
ble PG, R, or X ratings, $34.95;
HippoArt 1, a collection of 30 picture
files compatible with NEOchrome,
$39.95; Hippo EPROM Burner, for
programming your own chips,
$139.95; HippoClean, a disk drive
cleaning kit, $29.95; and Hippo-
Pixel, a utility for creating your own
sprites and fonts, $39.95.
Aegis Development (Santa
Monica, California) is bringing out
four graphics products for the
Amiga: Aegis Images, a drawing
program; Aegis Draw, a Computer-
Aided Design (CAD) program; Ae-
36 COMPUTEI April 1 986
This strikinglif beautiful picture was created on the Amiga's 320 X 200-pixel screen
in 52 colors with Aegis Images, a graphics-art program demonstrated at CES.
gis Animator, for creating animated
sequences; and Impact, an executive
graphics package. Images, Animator,
and Impact were actually devel-
oped by Island Graphics of Sausa-
lito, California. Under an
agreement with Commodore, they
were supposed to be released under
the Amiga brand name. For in-
stance. Images was originally
known as Graphicraft or ProPaint
(several screens created with this
program appear on the Amiga's
packaging and in the September
1985 issue of COMPUTE!). But Island
Graphics and Commodore had a
falling out, and the Amiga Graphi-
craft currently being sold is not the
software developed by Island
Graphics. Instead, Aegis acquired
the marketing rights to the Island
Graphics programs, enhanced
them, and renamed them Aegis Im-
ages, Animator, and Impact.
Images is available for $79.95
separately, or for $139.95 in a pack-
age with Aegis Animator. Using lin-
ages screens as a backdrop.
Animator allows 3-D animation and
rotation, metamorphic shape ma-
nipulation, storyboarding of up to
nine separate sequences, and
ghost-line animation. Impact
($199.95) is for business presenta-
tion graphics and includes a slide
show feature — charts, graphs, and
pictures can be flipped in a prede-
termined sequence and transformed.
Impact, another product from Aegis
Development, makes it possible to pro-
duce three-dimensional business graph-
ics using the Amiga's 4,096 colors.
Aegis Draw is a Computer-Aided
Design (CAD) program for the Amiga
which is aimed at professional users.
mmm
n I I I I n I I I I I M I I r f 1
i,iiV,Vii|i.i|i,i.i,ixr
'''' 1 1 1 H I'l'
' jVlTT'rt
Ah.(ni>
Suft\\\tro
BASIC 7.0
INTERNALS
n TTi n TT 1 rTTTirTrn
"i'|iiVii|'|iiWii|'i':
A. -MIA K.c«-:
Ah..fu
^-aii-ii-Tit"
S..fi-.>
1571 INTERNALS
AO*iA tR:c-(f4iiooiPt.H.SMLDtjy
AbiCUs
Soflwarc
Detailed guide presents tt^a IZS's
operating system, explains graphic
chips. Memory K^nagement Unh. BO
cohjmn graphjcs and commented
ROM listings. SOOpp S1d-9S
Get all the Inside inlormation on
BASIC 7.0, This exhaustive hand-
t>ook is connpleie with commented
BASIC 7.0 ROM listings. Coming
Summer 'a&. S19.95
Filled with Into for ever^'one. Covers
60 column hi«res graphics, win-
dowing, memory layout, Kernal
fot-iines, sprites, soltware pro-
lection, auloMarting, 300pp S19,95
Insiders' guide tor novice A ad-
vanced users. Covers sequential 4
relative files, & direct access com-
mands. Descnbos DOS routines.
Commented listings. SDQpp $13. 9S
Learn fundamentals of CAD whild
developing your own system. Design
o&jects on you r screen 1o dump to a
printer. Includes Itslings tor '&4 with
Simon's Basic. 300pp $19.95
TTIE
OBWICSBOW.
TOR WE ;
COMMOOOREf
.i ADVEI>ITURE 1
THk-wc OAMEWKITERS iJiil -i«iH>.i.
,J*lSE. THE tmTME THE
'^^d'H ATIATOMI c01".M0D0RE ; ATWTOMY
'- ■- I I OfTllE
Iritroduction to programing; problem
analysis; thorough description el all
BASIC commands with hundreds ol
examples; monitor commands; util-
ities; much more. 400pp S19.95
Presents dozens ol programming
quick-hitters. Easy ar^d useful
techniques On the opej^ting system,
stacks, zero-page, pointers, the
BASIC interpreter and more. $1 9 95
Essential guide for everyone [ntei-
esied in CP/M on the 128. Simple
explanation of the operating system,
memory usage, CP/M utility pro*
grams, submit lilesi more. S19.9S
ANATOMY OF C-64 Insldei's guide to the
'64 internals. Graphics, sound, 1/Q, t^emal.
memory maps, more, CompJoto oommenled
ROM listings. MOpp S19.95
ANATOMY OF 1541 ^DRIVE Best
handbook on llqpp^'r^lal^ns all. Many
Bxamples and ijltjtllf gji\i^UllV comme
1541 ROM Hslinoi;^^ ' SMpp $1
mad
9.95
rislinjji.^^ ■ SMpp
MACHIKE LANGUAGE C-64 Learn
6510 coda write fast programs. Many sam-
ples and listings lot complete assembler,
monitor, A simulator. ZOOpp S14.95
GRAPHICS BOOK 0^64 - best reference
covers basic and advanced graphics.
Sprites, animation, Hires, Multicolor,
lighlpen, 3D-graphlcs, IRQ. CAD» pro-
jections, curves, mora, 350pp SI 9.95
TRICKS & TIPS FOR C'64 Collodion of
easy-io>us« techniques: at^^anced graphics,
improved data Input, enhanced BASIC,
CP/M. more, 275pp S19.95
1541 REPAIR & MAINTENANCE
HandtMOk describes the disk drive hard-
ware. Includes schematics and techniques
to keep 1541 running. 200pp £19.95
ADVANCED MACHINE LANGUAGE
Not covered elsewhere; - video controller,
interrupts, timers, clocks, L/0, real time,
extended BASIC, more. 2lOpp $14.96
Pf^lNTER BOOK C-S4/VIC-20 Under-
stand Commodore, Epson -com pat to le print-
ers and 1520 plotter. Packed: utiiities; gra-
phics dump; 3D-plol; commented MPSS01
ROM Ittllngt. more, 33fipp Sid.S£
SCIENCE/ENGINEERING ON C-64 In
depth intro 1o computers in sdence. Topics:
Chemistry, physics, biology, astronomy,
alectronks. others. SSOpp 519.9&
CASSETTE BOOK C-&4/VIC-20
Comprehensive guide; many sample
programs. High speed operating system
fast tile kfading and saving. 225pp S14.9&
IDEAS FOR USE OH C-64 Themes:
auto expenses, calculator, recipe fiie. slodk
Hsts, diet planner, window advertising,
others. Includes listings. 200pp St 2.95
COMPILED BOOK C-64/C-12e All you
need to know about compilers: how they
work; designing and writing your own;
generating machine code. With working
example compiler. 3D0pp S19-B5
Adventure Qamewrller'* Handbook
Siep^y'Step guJde to designing and writing
your own adventure games* With automated
adventure garrw generator. 200pp S14.95
PEEKS « POKES FOR THE C-54
Includes in-depth explanations of PEEK,
POKE, USH, and other BASIC commands.
Learn the 'inside" tricks to get the most oi/t
ofyouf'G4. 20Qpp $14.95
OptlonaE DJskettee for books
For your convenience, the programs
contained in each of our books are avail-
able on diskette to save you time entering
them from your keyboand. Specify name of
book when ordering. Si 4,95 each
Abacus ^ra Software
C-12Q snd C-^ welr«d«rniirkftO<Ccmmodtfe Butin«*t MecNnes.
P.O. Box 7211 Grand Rapids, Ml 49510-Telex709-101 ■ Phone (616) 241-5510
Call now for the name of your nearest dealer. Or to order directly by credit card, MC, AMEX of VISA call (616)
241-5510. Other software and books are available-Call and ask for your free catalog. Add $4.00 for shipping
per order. Foreign orders add $1 0.00 per book. Dealer inquires welcome-1 200+ nationwide.
Aegis Draw, for hobby and pro-
fessional CAD work, actually con-
sists of two programs: Aegis Draw
and Aegis Draw Professional. The
first version retails for $199.95 and
can be upgraded to the Professional
version at extra cost. Aegis Draw has
zooming, automatic scaling, selec-
table grids, layering, and multiple
windows so you can work on sever-
al drawings simultaneously, or on
different parts of the same drawing.
It supports Kurta and Summagra-
phics digitizers, and plotters by Ro-
land, Hewlett Packard, Houston
Instruments, Epson, and Comrex.
All four Aegis programs for the
Amiga should be available
immediately.
Supra Corporation (Albany,
Oregon) announced a series
of hard disk drives for the
Atari ST with capacities of 10, 20,
40, and 80 megabytes. Prices start
at $799 for 10 megabytes. They
should be available this spring.
Optimized Systems Software
(San Jose, California) was demon-
strating Personal Pascal for the ST at
the Atari booth and has already
started shipping. This language
•supports all of the ST's special fea-
tures, compiles and links most pro-
grams in about a minute (even
faster with a hard disk or RAM
disk), and sells for $74.95. OSS is
also readying a version of the Pro-
log language and a set of disk utili-
ties for the ST.
Cardco (Wichita, Kansas),
known in the past for its VIC-20
and Commodore 64 add-ons, is
preparing a one-megabyte memory
expansion board for the Amiga.
The board plugs into the expansion
bus, and Cardco says it will be
available this spring for about $400.
Unison Woirld (Berkeley, Cali-
fornia) is converting PrintMaster —
a printer utility similar to The Print
Shop — to the Atari ST. It's already
available for the Commodore 64,
IBM, and CP/M computers.
Activision (Mountain View,
California) said sales of its initial
software for the ST and Amiga have
been "quite strong" and that addi-
tional titles will be released this
year. These include Garry Kitchen's
GameMaker: The Computer Game
Design Kit and The Music Studio for
the Amiga and ST; and The Activi-
sion Little Computer People Discov-
38 COMPUTEI April 1986
^^"'^
Wff
T>'V^SJJ
Another new music-composition pro-
gram is The Music Studio from Activi-
sion. There are versions for the Amiga,
Atari ST, and IBM PCjr/Tandy WOO
computers.
ery Kit for the Amiga, GameMaker
lets you write videogames without
learning a programming language.
Finished games can be saved on a
blank disk and run independently
of the master program, so you can
distribute copies to friends. Activi-
sion is sponsoring a GameMaker
contest — first prize is a trip to Ac-
tivision plus $5,000.
The Music Studio is a composi-
tion tool designed by Audio Light
for both amateur and professional
musicians. With it, you can design
instruments and create new sound
effects. The Amiga version plays up
to 16 simultaneous sound channels
in stereo.
Accolade/FTL Games (Cuper-
tino, California) has released Sun-
dog: Frozen Legacy for the ST.
Originally written for the Apple II
series, Sundog is a graphics strategy
game that has been completely re-
designed to take advantage of the
ST's advanced graphics. Thanks to
a proprietary data-compression
scheme, hundreds of different full-
color screens are stored on the pro-
gram disk,
Mindscape (Northbrook, Illi-
nois) is introducing three programs
Mindscape's Deja Vu; A Nightmare
Comes True is a WiOs-style mystery
game for the Amiga and Macintosh.
for the Amiga and one for the ST.
Brataccas ($49.95) is a graphics ad-
venture game for both computers
that was developed by Psygnosis
Limited of England, It was written
specifically to take advantage of the
68000 chip inside the Amiga and
ST, In Brataccas, you're a scientist
who has invented a genetic process
for creating a superbeing. With an
evil government and the under-
world in pursuit, you flee to a colo-
nized asteroid, Brataccas. The
object is to expose the govern-
ment's corruption and clear your
name. Brataccus is populated with
nearly 60 different characters.
For the Amiga only. Mind-
scape is releasing The Halley Pro-
ject: A Mission in Our Solar System
($49.95), a realtime simulation of
the solar system developed by Tom
Snyder Productions with help from
the Massachusetts Institute of
Technology; Deja Vu: A Nightmare
Come True ($54.95), a 1940s-style
mystery game; and Keyboard Cadet
($39.95), a typing tutor. (Incidental-
ly, Mindscape is the company
which wrote the Amiga Tutor sup-
plied with the Amiga.)
Abacus Software (Grand Rap-
ids, Michigan) is importing a pro-
fessional-quality program called PC
Board Design for the ST. When Aba-
cus finishes translating this circuit-
designing utility from German, it
will sell for $395.
Batteries Included (Richmond
Hill, Ontario) was demonstrating
its D.E.G.A.S. drawing program for
the ST with a slideshow of screens
called up in rapid sequence from a
hard disk, D.E.G.A.S. started ship-
ping just before CES, and it's al-
ready a hit — Batteries Included
says that sales figures for the first
two weeks were greater than for
any other program in its history. ST
and Amiga versions of the Isgur
Portfolio System, a stock-manage-
ment program, are scheduled for
release later this year at $249.95.
Q-R-S (Buffalo, New York), a
company that started back in 1900
by making music rolls for player
pianos, is releasing its digital music
library for the Amiga and ST. This
consists of a number of disks con-
taining piano music by Joplin,
Gershwin, Liberace, and other art-
ists and composers. Each disk con-
tains six songs and sells for $19,95.
Sierra On-Line (Coarsegold,
and
C-64'
SOFIWARE
Our BASIC Compilers are
the complete compiler
and development pack-
ages. Speed up your
pfograms from 5x to 3Bx.
Our BASIC Compilers
give you many options:
flexible memory manage-
ment; cfioice of compiling
to mactiine code, com-
pact p-code or a mixture
of bottl. Also on tfie'iaa,
40 or 80 column monitor
output and FAST-mode
operation.
The '128 Compiler's extensive 80-page prosrammer's guide covers compiler
directives and options, two levels of optimization, memory usage,
input/output handling, 80 column hi-res graphics, faster, higher precision
math functions, speed and space saving tips, more. A great package that no
software library should be without. BASIC 128 Compiler $59.95
BASIC 64 Compiler $39.95
For school or soltware
development, select SUPER
C . Learn to use one of
today's most popular lang-
uages on your Commodore
128. Power) u I screen editor,
compiler, linker-link up lo
seven modules, I/O
library-includes printf and
fprintf. Compile your C
programs into fast machine
language. C-128 $79.95
C-64 $79.95
For the professional who
wants to easily create high
quality charts and graphs
without programming. You
can immediately change the
scaling, labeling, axis, bar-
filling, etc. to suit your needs.
Accepts data from CalcResult
and ft^ultiPlan. 0-128 version
has 3X the resolulion of the
'64 version. Outputs to most
printers. C-12e $39.95
C-64 $39.95
PowerPlan
One of the most powerful spreadsheets with integrated graphics
for your Commodore computer. Includes menu or keyword
selections, online help screens, field protection, windowing, trig
functions and more. Power-Graph, the graphics package, is
included to create integrated graphs a charts. C-64 $39.95
CADPAK is a remarkably
easy to use drawing
package for accurate
graphic designs.
Using CADPAKs new
dimensioning features
you can create exact
scaled output to all major
dot-matrix printers.
This enhanced version of
CADPAK allows you to
Input via the keyboard or
a high quality llghtpen.
Two graphic screens per-
mit you to COPY from one screen to another. DRAW. LINE, BOX. CIRCLE,
ARC, ELLIPSE are but a few of the many selections to choose from. FILL
objects with preselected PATTERNS: add TEXT; SAVE and RECALL designs
to/from disk. You can define your own library of intricate symbols/objects with
the easy-to-use OBJECT MANAGEf^ENT SYSTEM-it will store up to 104
separate objects. C-12B $59.95
0-84 $39.95
Not just a compiler, but a
complete system for develop-
ing applications in Pascal.
Extensive editor wKh search,
replace, auto, renumber, etc.
Standard J & W compiler that
generates fast machine code.
If you want to learn Pascal or
to develop software using the
best tools available-SUPER
Pascal is your first choice.
C-128 $59.95
C-64 $59.95
OTHER TITLES AVAILABLE:
Technical Analysis System
A sophisticated charting and technical analysis system for
serious investors. By charting and analyzing the past history of a
stock, TAS can help pinpoint trends & patterns and predict a
stock's future. Enter data from the keyboard or from online
financial services. C-64 $59,95
Personal Portfolio Manager
Complete portfolio management system for the individual or
professional investor. Easily manage your portfolios, obtain
up-to-the minute quotes and news, and perform selected
analysis. Enter quotes manually or automatically through
Warner Computer Systems. C-64 $39.95
Xper
XPER is the first "expert system" for the C-1 28 and C-64. While
ordinary data base systems are good for reproducing facts,
XPER can derive knowledge from a mountain of facts and help
you make expert decisions. Large capacity. Complete with
editing and reporting. C-64 $59.95
C-12fi nr^d C-64 are bad^niarks of Ccmmnjcre Busir«s& Mochioos.
Compiler and Software
Dcvdopmeoi Sysiem
-:- ■ A ■
'f
-^
. xa««wt«Mtwji %.^. '■■
I .. . )
Abacus
nmymmii
[!fim«
Software
P.O. Box 7219Grand Rapids, Ml 49510-Telex709-101-Phone(616) 241-5510
Call now for the name of your nearest dealer. Or to order directly by credit card, MC, AMEX of VISA call (616)
241-5510. Other software and books are available-Call and ask for your free catalog. Add $4.00 for shipping
per order. Foreign orders add $12.00 per item. Dealer inquires welcome-1200-i- nationwide.
California) has converted its series
of 3-D graphics adventure games
for the ST: King's Quest I, King's
Quest 11, and Ylalt Disney's The
Black Cauldron. The King's Quest
games have been particularly pop-
ular on IBM computers.
Spinnaicer Software (Boston,
Massachusetts) has converted Fahr-
enheit 451, Treasure Island, Perry
Mason, Nine Princes of Amber, Ama-
zon, and Homework Helper Math for
the ST.
The popular eight-bit com-
puters weren't ignored by
software publishers, either,
and some significant new programs
were announced for the Commo-
dore 64, 128, Apple, IBM PC/PCjr,
and Atari. There isn't room here to
list them all, but additional infor-
mation can be found in this month's
"News & Products" section.
One of the biggest hits at the
show was a graphics-oriented oper-
ating system in final stages of de-
velopment for the Commodore 64.
Called GEOS (Graphic Environ-
ment Operating System), it's mod-
eled after the user interface
popularized by the Macintosh and
adapted by the Atari ST and Amiga.
GEOS loads from disk and replaces
the 64's normal operating system. It
speeds up disk access by a factor of
five to seven times and displays a
desktop screen with pull-down
menus, icons, and windows. You
manipulate these features by mov-
ing an on-screen pointer with a
mouse or joystick.
Although some people were
skeptical that GEOS could run fast
enough on an eight-bit machine,
even the unfinished version at CES
ran surprisingly smoothly. By mov-
ing the pointer to a menu bar at the
top of the screen and pressing the
joystick button, you can select vari-
ous options for managing files and
running applications (see photo).
To rename a file, for instance, you
pull down the File menu and
choose Rename. The new filename
you enter appears on the directory
or beneath the program's icon. To
delete a file, you point to its icon,
press the joystick button, and
"drag" the icon to the trash can
icon. To print a file, you drag its
icon to the printer icon.
The screen would get cluttered
40 COMPUTEI April 1986
The desktop screen from GEOS, a remarkable Macintosh-like operatitig system for
the Commodore 64. It offers pull-down menus, icons, windows, desk accessories, and
custom type fonts, and also speeds up disk access five to seven times.
if the icons for every file were dis-
played at once, so GEOS lets you
flip through windows as if they
were pages in a book. The page
number of the current window is
displayed near its bottom margin.
As the accompanying photo shows,
GEOS uses the Commodore 64's
high-resolution graphics screen to
display a smaller-sized character set.
The desktop includes a full
range of Macintosh-like desk acces-
sories, such as a calculator, note-
pad, alarm clock, photo and text
albums (for transferring data be-
tween applications), and a prefer-
ences window. The preferences
window lets you adjust screen col-
ors, change the shape and speed of
the pointer, set the date and time,
and so forth. The desk accessories
can be called up while running oth-
er applications — if you're using the
word processor and need to per-
form a calculation, for example, you
can pop open the calculator, gel
your answer, close the calculator,
and continue writing.
GEOS comes with two applica-
tions: geoWrite, a what-you-see-is-
what-you-get word processor that
lets you type on-screen with several
different proportional fonts, and
geoPaint, a graphics-drawing pro-
gram with vertical and horizontal
scrolling that lets you create images
as large as an 8V2 X 11 -inch page
(80 dots per inch resolution).
The price for the entire pack-
age— GEOS, the desktop and desk
accessories, geoWrite and geo-
Paint— is $59.95. It was designed
by Berkeley Softworks (Berkeley,
California) and is scheduled to be
available early this spring.
Timeworks (Deerfield, Illinois)
is releasing three new pro-
grams for the Commodore
128 and one for the 64. Partner 128
($59.95) and Partner 64 ($49.95) are
desktop management programs
similar to Borland International's
Sidekick for the IBM PC. Both Part-
ner programs include a multifunc-
tion business calculator, memo pad,
appointment calendar, typewriter,
address book, phone book, enve-
lope addresser, and screen printer.
SwiftCalc 128 is a. spreadsheet
that takes advantage of the 128's
80-column mode. It has program-
mable keys, multilevel sorting, and
several ways of charting data (in-
cluding 3-D) that can be shown on
the screen or printed out. Those
who already own the original Swift-
Calc for the Commodore 64 can
upgrade to the 128 version for a
nominal fee. Timeworks has also
adapted Sylvia Porter's Personal
Financial Planner ($69,95)' for the
128's 80 -column mode.
Cardco (Wichita, Kansas) an-
nounced a Sidekick-style product,
too. Called Side Saddle (Cardco is
negotiating with Borland for the
Sidekick name), it offers quick ac-
cess to a calculator, appointment
calendar, telephone directory/ dial-
er, memo pad, screen printer, and
disk functions. It comes on a car-
tridge for the Commodore 64, with
a 128 version to follow. Another
interesting Cardco program is
Freeze Frame, a screen printer that
Cardco claims can capture any 64
screen on paper, even with com-
mercial software. It works with any
printer that emulates the Commo-
dore 1525, and all Epson- and
Okidata-compatibles. A 128 ver-
sion of Freeze Frame is also planned.
The Commodore 128 got an-
other boost when Cardco an-
nounced its Personal Productivity
Series for the 128's CP/M mode.
The first three products in the series
are Personal Accoutitanl, a financial
manager for home or small busi-
ness; Personal Inventory, for figuring
your net worth; and Personal Time
Manager, which can handle up to 26
events for as many as 240 people.
Each program sells for $39.95.
In addition to software, Cardco
announced three hard disk drives
for the 64 and 128. Available in late
March for the 64 and shortly after-
ward for the 128, the drives will
come in 5-, 10-, and 20-megabyte
capacities for $599.95, $899.95, and
$1,299.95, respectively. They're ca-
pable of loading a full-function
spreadsheet program in IVi
seconds.
Access Software (Salt Lake
City, Utah) is releasing a number of
products for the Commodore 64,
128, Atari, and Apple. The Much
128 Enhancement Package is a car-
tridge and disk for the 64 and 128.
When the cartridge is plugged in, it
senses whether a 1541 or 1571 disk
drive is connected and — in the case
of the 128 — which mode is active.
Then it engages or disengages disk
speed-up routines as appropriate.
Typically there's a fivefold increase
in loading speed with either the
1541 or 1571. The cartridge also has
a system reset switch. In addition,
the Mach 128 disk includes a disk
organizer utility, two machine lan-
guage monitors, and a program that
expands BASIC workspace by 4K.
The price is $49.95.
The Development System
($79.95) is a professional macro as-
sembler and text editor for the Com-
modore 128 (128 or 64 mode) and
64. It includes Spritemaster, a utility
for creating and animating sprites
with machine language programs.
leader Board, The Pro Golf Sim-
ulator is a 3-D game that offers a
perspective view of the golf course.
It's one of the most detailed sports
simulations we've ever seen, with
multiple 18-hole courses, handi-
capping, a wide range of clubs, and
numerous other variables. The Com-
modore 64 version should be avail-
able immediately for $39.95. Inside
Story — The Anatomy Learning Sys-
tem is an educational program udth
50 high-resolution graphics screens
that let you explore the inner work-
ing of the human body. For the Com-
modore 64, the price is $34.95.
For the Atari 400/800, XL, XE,
and Apple II series. Access Soft-
ware is releasing Raid Over Moscow
and Beach-Head U: The Dictator
Strikes Back, popular games previ-
ously available for the Commodore
64 and 128. In Raid Over Moscow,
the Soviets have launched a nuclear
attack on North America; your job
is to deploy stealth bombers from
an orbiting space station to destroy
the warheads before they hit. It re-
quires at least 48K RAM and sells
for $34.95. Beach-Head 11 is the se-
quel to Beach-Head and features
speech synthesis, multiple screens,
and the choice of playing another
person or the computer. It requires at
least 48K RAM and sells for $39.95.
Access has signed an agree-
ment with Multibotics, Inc. (Woods
Cross, Utah) to market its line of
robotic construction sets. The
sets — for youngsters and adults —
contain snap-together connectors,
gears, shafts, clutches, wheels, elec-
tric motors, and other parts that
make it possible to build all sorts of
motorized contraptions that can be
controlled by a personal computer.
You can also experiment with digi-
tized speech or temporarily turn a
computer into a voltmeter or oscillo-
scope. Four different Multibot sets
are avaOable from $59.95 to $199.95.
Interfaces are ready for the Commo-
dore 64 and 128, and Access is work-
ing on interfaces for Atari, Apple,
Amiga, and IBM computers.
If you've got a good memory, you
might recall reading some re-
views about a year ago of a Com-
modore 64 word processor called
SkiWriter. Although the reviews
were good, marketing problems
kept the program from appearing
on store shelves. Now it's been ac-
quired by a British company, Mas-
tertronic (U.S. offices in Frederick,
Maryland). Two changes were
made — the built-in telecommuni-
cations feature was dropped, and
the program is being sold on disk
instead of cartridge — but the price
has been chopped from $69.95 to
$15. There's also a Commodore 128
and Apple II version. At the same
time, Mastertronics is introducing
two more programs for the Com-
modore 64: Busicalc 3, a spread-
sheet, and Instant Recall, a filer that
stores up to 30,000 characters of
data. Both of these products sell for
$15, too.
Mindscape (Northbrook, Illi-
nois) is bringing out The Luscher
Profile (Apple, Commodore 64,
IBM PC, and Mac), which con-
structs a psychological profile
based on a person's reactions to
colors and shapes; The American
Challenge: A Sailing Simulation (Ap-
ple and IBM), an unusual America's
Cup simulation that can be played
by two people in remote locations
using computers and modems; Dick
Francis' High Stakes (Apple and
IBM), an interactive text adventure
that puts you in the role of a
wealthy English horse owner; a
talking Macintosh version of Racier,
the AI (artificial insanity) program
that holds bizarre conversations
with humans; and Stephen King's
The Mist and James Bond: A View To
A Kill (Apple, IBM, and Mac), text
adventures based on popular thrill-
ers. All of these programs are
$39,95, except for Racier, which is
$44,95,
And finally, if you can spare
$39.95, you can now indulge any
Rambo fantasies you might have
with a Mindscape program called
Rambo: First Blood Part 11. But Rambo
isn't the shoot-em-up action game
you might expect — it's a text ad-
venture. One of its features is a
sophisticated parser that lets you
communicate in plain English
(which is more than the movie
character Rambo can do). It runs on
the Apple, IBM, and Macintosh. ©
April 1986 COMPUTEI 41
Tug-A-War
Mark Tuttle, Submissions Reviewer
Don't be fooled by the apparent sim-
plicity of this two-player strategy
game. It looks easy on the surface, but
it's a stiff test of your concentration
and ability to think ahead. The origi-
nal version was written for the Com-
modore 64. We've added new versions
for the Atari 400/800, XL, and XE,
Apple Il-series computers. Atari
520ST, Amiga, IBM PC/PCjr, and the
TI-99/4A. Since the game is based on
colors, every version requires a color
monitor or TV. The IBM version re-
quires BASICA and a color /graphics
adapter for the PC or Cartridge
BASIC for the PCjr. The Atari version
requires at least 16K of RAM, and the
Amiga version requires at least 512K.
Nearly everyone has played tug of
war at one time or another. The
traditional game pits two players or
teams at opposite ends of a rope. At
the middle of the rope is a flag, and
each side tries to pull the flag into
its territory. "Tug-a-War" is based
on a similar concept. In this version,
the flag is replaced with a round
ball shape, and each player tries to
maneuver the ball onto his or her
side of the screen. Like many two-
player games, the difficulty of Tug-
a-War depends somewhat on the
intelligence of your opponent. But
even at the simplest level, you'll
find that skill and foresight are es-
sential to success.
Type in and save the appropri-
ate program below. The rules are the
same for every version (except Atari
520ST — see special instructions).
Battle Of The Colors
When you run Tug-a-War, two sets
of colored boxes appear, one above
the other. The lower, longer series
of squares is the playing field. Near
the middle of the pi ay field area is a
42 COMPUTB April 1986
round ball; the outermost boxes at
each end of the playfield represent
each player's home position. The
players alternate turns, each trying
to move the ball in their own direc-
tion, until it reaches one of the
home squares.
So far, so good — but how do
you move the ball? It's done not by
pulling a rope, but by changing the
colors of boxes in the playfield. The
color of the square under the ball
determines which direction it
moves and how far it travels. On
any given turn, the ball can move
either one or two squares to the left,
or one or two squares to the right.
At the top of the screen are four
boxes that show you which colors
are linked to which directions. For
instance, the leftmost box shows
you which color makes the ball
move one square to the left. The
next box to the right shows you
which color makes it move two
squares to the left. The second pair
of boxes show you which colors
make the ball move in the opposite
direction, to the right. By changing
the color of the box where the ball
is currently located, you can make it
move toward your home square.
The playfield contains 11 box-
es (9 in the TI version, 10 in the
Atari ST version). When the game
begins, each of these boxes is ran-
domly given one of the four colors
shown at the top of the screen. On
each turn, you may change the
color of one, several, or all of the
boxes (however, you must always
change at least one box). Below
each box is a number which repre-
sents its distance from the home
position of the player whose turn it
is. For instance, if you are the player
on the left, then on your turn the
boxes are numbered 1, 2, 3, etc.,
from left to right (the tenth box is
marked with a 0, and the eleventh
with an A). When it's the right play-
er's turn, the numbering is reversed
(the rightmost box is 1, etc.).
To take a turn, you must select
a number that corresponds to the
numbers shown below the boxes in
the playfield. This is done by press-
ing a single key. Press a number
key from 1-0 to select one of the
first ten values, or press the A key
to choose the eleventh box. The
number you choose determines
how many boxes change color. For
instance, if you press 1, only one
box (the one nearest your home
square) changes color. If you press
2, the two boxes nearest your home
box change, and so on.
Where do the new colors come
from? Every box cycles through the
same series of four colors shown in
the uppermost set of boxes, going
from left to right. For example, if
the colors shown there are white-
blue-red-purple (the exact colors
may be different on your com-
puter), then a white square always
changes to blue; a blue square al-
ways changes to red; a purple
square changes to white, and so on.
In other words, the box's current
color determines which color it gets
after the next color change.
Though every turn involves at
least one color change, the ball
doesn't necessarily move on every
turn. It only moves when you
change all the boxes between your
home position and the current posi-
tion of the ball. For example, if the
ball is three boxes away from your
home square, then you must
change the color of at least three
boxes in order to move it at all.
Foresight Rewarded
As you can see, there's much more
to this game than appears on the
surface. At first you might be
tempted to try to move the ball as
COMPUTEi'S
Ewrvthlas you need for successful,
entortalttltts, and challenging
nrogramming on vom Amiga, Atari
SI or Commodore 12B comuuter.
COMPUTErs 128 Programmer's Guide
ISBN 0-87455-031-9
Editors of COMPUTE! 464 pages
Written and compiled by the most technically proficient authors in
consumer computing today, the technical staff of COIVIPUTE!
Publications, this guide to the powerful Commodore 128 computer
contains a wealth of infomiation for every programmer. Explore
BASIC 7.0 through countless hands-on examples and sample
programs. Leam how to create dazzling graphics and sophisticated
sounds in both BASIC and machine language. See how to program
peripherals, such as disk drives, printers, and modems. Enter the
world of CP/M, just one of the three modes of the 128. There are
even chapters introducing you to machine language programming
and the computer's method of managing memory. COMPUTERS
128 Pmgmmmer's Guide includes numerous appendices covering
everything from error messages to memory maps.
$16.95
Look for these new books at a
bookstore or a computer store near you.
Or order directly from COMPUTE! Books.
Caii toll-free 1-800-346-6767. In NY call
212-887-8525.
£acA book Is carefullv written In
COfAPUTEVs li¥elf, understandable
style to help even beginning
grogrammers learn the ins and outs
of their gersonal computers.
COMPUTERS ST Programmer's Guide
(M7455-023-8
Editors of COAflPUTE!
Complete and comprehensive, yet easy to understand,
COMPUTEI'S ST Programmer's Guide is a must-buy for any
Atari ST owner. The technical staff of COMPUTE! Publications has
put together a reference guide to programming that takes the
reader through every aspect of this newest Atari personal
computer. Logo and BASIC, the two programming languages now
available for the machine, are explored in detail. From
programming concepts to wrffing programs, the scores of ready-to-
type-in examples show just what can be done, and how to do it.
Advanced features of this new-generation computer, such as GEM
and TOS, the ST's user interface and operating system, are
illustrated as readers write their own applications. Valuable
appendices provide infonnation programmers need, including GEM
VDI opcodes and a list of ST resources,
$16.95
COMPUTEi'S Amiga Programmer's Guide
0-87455-028-9
Edited
Covering AmigaDOS, BASIC, Intuition, C, machine language, and
the other important programming tools which accompany the new
Amiga, COMPUTEI'S Amiga Programmer's Guide is a clear and
thorough guide to the inner workings of this fascinating, new-
generation computer. The great speed of its 68000 microprocessor.
coupled with the versatility of the Amiga-specific graphics and
sound chips, makes the Amiga one of the most powerful
computers available today.
$16.95
COMPUTEi^ Publicationsjnc.^
One of ttie ABC PuWiMiing Companies
COMPUTE! books are available in the U.K., Europe, the Middle East, and
Africa from Holl Saunders, Ltd., 1 St Anne's RcHd, Eastbourne, East
Sussex BN21 SUN, England.
often as possible. But that's usually
a losing strategy. Remember, the
direction the ball moves depends on
the color of its square before you
take the turn.
In many cases, you'll want to
move the ball only if it's on a color
that moves it toward your goal. But
like other games of strategy, Tug-a-
War rewards the player who looks
beyond the current move and tries
to set things up for future moves;
sometimes it's wise to make a
small, temporary sacrifice in order
to benefit later in the game. Because
the boxes change colors in the same
sequence, the effect of your own
move is always completely predict-
able. However, since a single turn
can change the color of many box-
es, dramatic changes of fortune are
also possible.
Amiga And 520ST Versions
Since the mouse is an integral sys-
tem feature on both the Amiga and
ST, both of these versions substi-
tute mouse input for keyboard in-
put. To select a square, simply
move the mouse pointer to the de-
sired box and press the left mouse
button. Because keyboard prompts
are unnecessary, no numbers are
displayed below the playfield
boxes.
Before entering BASIC to load
the ST version, you should switch
to the low-resolution graphics
mode (use the Set Preferences op-
tion in the desktop's Options
menu). Also, if your ST has 512K
and a disk-based operating system,
before running the program you
should turn off buffered graphics
(controlled by the Buffer Grph op-
tion in the Settings menu; it's off
when no check appears beside the
option in the menu). The standard
520ST leaves only about 5K free for
BASIC programs, so Tug-a-War
won't fit into memory unless the
buffered graphics option is turned
off. The program fits with buffered
graphics switched on only if you
have a 1040ST, or a 520ST with
memory expansion, or a 520ST that
has been upgraded with the TOS
operating system in ROM chips
(Read Only Memory).
The Amiga version uses the
computer's built-in speech feature
to announce the players' turns. In
other respects, these games work
exactly like the others,
44 COMPUTEI April 1 986
For instructions on entering these listings,
please refer to "COMPUTEt's Guide to Typing
In Programs" in this Issue of cOMPutEi.
"Tug-a-War" for the Commodore 64 and
128 is a game that looks simple, but de-
mands good concentration and foresight.
Program 1 : Tug-A-Wor For
Commodore 64/128
jj 100
CE 110
DM
120
QG
130
KE
140
AO
150
DG
160
RS 170
HK 180
FQ
190
CB
210
SF
220
HR 230
MA
240
BR
250
RB
260
XR
270
POKE53 280 , 0 : PRINT " ! CLR J
"; :BC=53281 iPOKEBC, 5: PC
(1)=5:PC(2)=7:PS=6:CR=1
iPL=l:X=20
B=5 5715:A5="OEY3PlDOWNi
t3 LEFTJIH^ TnHDOWN}
13 LEFT)LEP3@":P?(1)="G
REENlRVSTlBLK) lOFFj
I LEFT J " : PS ( 2 ) = " YELLOW" :
B?="i2 UPJ"
TM?="lHOME) 19 DOWK]":Q$
= "lBVSHBLKJ134 SPACES 1
":DIHCL(ll)
FORI=0TO23:PRINT"lRVSj
{BLK)i39 SPACES)'"
POKE1063+(40*I), 160:POK
E55335+(40*I),0:NEXT
PRINT"lRVSi {39 SPACES)
I HOME) ":POKE2023, 160 :P0
KE56295,0
PRINT '■ [HOME )"SPC( 15) "
i RVS J TUG-A-WAR " : PRINTSP
CC13)"ID0WN) iRVSJlWHTi"
A5B$" iRED) "A?BS"lBLKi
lCyNj"A?B?"lPURt"ASB?
PRINTSPC(14) "lBLKjl"SPC
(2)"2"SPC(3)"1"SPC(2V'2
{DOWN)":PRINTSPC{15) "
iRVS)<C"SPC(5) "C>"
GOSUB620 : PRINTTMS "
IDOWNJUVS! IGRN)"ASBS;
:F0RZ=lTOll:Y=INT(4*RND
(I))+1:CL(Z)=Y:P0KE646,
Y
PRINT "{ RVS )"A?B$; :NEXTZ
:PRINT"lYEL| {RVSJ "A?
P0KE646,PEEK(B)ANDi5:PR
IKTTM?"U DOWN) "SPC(X) "
1 RVS ) Q" : POKEBC , PC ( PL )
PRINTTH?"U4 DOWN)"SPC(
18) "(RVSJlBLK)
13 SPACES j"
AN=0:PRINTTM$SPC(7) "
110 DOWN) [BLKj lRVS)HOW
I SPACE) MANY TO CHANGE
(off) "PS (PL)
PRINTSPC(17 ) "iDOWNj
IRVS) (1-A) [2 DOWNj
{3 LEFT)il3lLEFT)";
POKE204 , 0 I POKE198 , 0 : WAI
T198,l :GETMT5
IFASC(MTS ) <480RASC (MT? )
<>65ANDA3C{MT5)>57THEN2
50
POKE204 ,1:1 FMT5= "A"THEN
AN=11 :MT5=" [LEFT jALL"tG
OTO300
CR '280 IFMT5="0"THENAN=10:MT?=
"10":GOTO300
HC 290 AH=VAL(MT$)
KM 300 PRINT" I 2 LEFTJ
(5 SPACES} {3 LEFT)"MT$
?FS 310 IFAN<1ORAN>11THEN220
FF 320 IFPL=2THENAN=12-AN:GOTO
440
HE 330 IFAN<PSTHENCK=1
KQ 340 F0RQ=1T0AN:IFCL(Q)=4THE
NCL(Q)=1:GOTO360
GE 350 CL(Q)=CL(Q)+1
KJ 360 NEXTQ:PRINTTM5 rPRINT"
lBLK)iRVSj IGRN)"ASBS; :
F0RZ=1T011 : P0KE646 , CL ( Z
) : PRINT" { RVS )"A$fl5;
QD 370 NEXTZ:PRINT" lYEL j iRVS) "
A5;P0KE646,PEEK(B)AND15
: PRINT"! HOME) 111 DOWN)"
SPC(X)"SRVSj "
FH 380 IFCK=1THENCK=0:GOTO400
MH 390 ONPEEK(B)AND15GOSUB490,
500,510, 520
BF 400 IFPS<:1THENPL=1:WC=5 :B = 5
5698:X=2:GOTO530
DP 410 IFPS>11THENPL=2:WC=7 :B=
5 5 734:X=3Q !GOTO530
KD 420 IFPL=lTHENPL=2:GOSUB64fl
:GOSUB630:GOTO210
HE 430 PL=1 :GOSUB640: PRINT"
U0 UP) ":GOSUB620:GOTO2
10
XH 440 FORQ^ANTOll
DH 450 IFAN<1ORAN>11THEN2 2 0
BD 4^0 IFAN>PSTHENCK=1
GJ 470 IFCL(0)=4THENCL(Q)=1 :G0
TO360
HB 480 CL{Q)=CL(Q)+1:GOTO360
JX 490 B=B+6:X=X+6:PS=PS+2 :RET
URN
PA 500 B=B-3 :X=X-3 :PS=PS-1 :RET
URN
XM 510 B=B-6:X=X-6:PS=PS-2 :RET
URN
BE 520 B=B+3:X=-X+3;PS=PS+1:RET
URN
FF 530 POKE646,PEEK(B)AND15:PR
INT "(HOME) 111 DOWN)"SPC
(X)"lRVS)Q":PRINTTM?"
110 DOWN)"^;
PG 540 F0RE=1T05:PRINTQ?:NEXT:
GOSUB640 :GOSUB640
FM 550 PRINT "(home! Ill DOWN)"S
PC(11)PS(PL) " IS THE WI
NNER":Z=WC:F0RI=1T011 :P
OKEBCZ
CP 560 IFZ=0THENZ=WC:GOSUB610:
NEXT
Z=0:GQSUB610:NEXT
POKEBC, 15 :PRINTTM?SPC{1
1)"U0 DOWN) lRVS)LIKE T
0 PLAY AGAIN12 DOWN)
(11 LEFT) (RVS )Y/N"
POKE198,0:WAIT198,l!GET
MT? !IFMT5<>"N"THENRUN
POKE198,0!SYS198
FORP=1TO200:NEXTP:RETUR
N
CG 620 PRINTTM$"(5 DOWN) [RVS)
[BLK) [Z SPACES ]<C 1
[2 SPACES) 2(2 SPACES) 3
12 SPACES )4i 2 SPACES) 5
12 SPACESj6(2 SPACES)?
12 SPACES) 8 (.2 SPACES) 9
12 SPACES)0(2 SPACES) A"
: RETURN
AA 630 PRINTTMS "(5 DOWNS (RVS)
IBLK)15 SPACES) A
12 SPACES )0( 2 SPACES) 9
12 SPACES) 8(2 SPACES) 7
(2 SPACES 16(2 SPACES) 5
SJ
570
BP
580
RA
5 90
JC
600
QC
610
From the publishers of COMPUTE!
April 1986
COMPUTE! Disk
All the exciting programs from the past three issues of COMPUTE! are on
one timesaving, error-free floppy disk that is ready to load on your Com-
modore 64 and 128 computers. The April 1986 COMPUTE! Disk contains
the entertaining and useful Commodore 64 and 128 programs from the
February, March, and April 1986 issues of COMPUTE!.
The April 1986 COMPUTE! Disk costs $12.95 plus $2.00 shipping and
handling and is available only from COMPUTE! Publications.
For added savings and convenience, you may also subscribe to the COM-
PUTE! Disk. At a cost of only $39.95 a year (a $12.00 savings], you'll receive
four disks, one every three months, Each disk will contain all the programs
for your Commodore machine from the previous three issues of
COMPUTE!.
This is an excellent way to build your software library while you enjoy the
quality programs from COMPUTE!.
Disks and subscriptions are available for Apple, Atari, Commodore 64 and
128, and IBM personal computers. Call for details.
For more information or to order the February 1986 COMPUTE! Disk, call
toll free 1-800-346-6767 [in NY 212-265-8360) or write COMPUTE! Disk,
P.O. Box 5038, F.D.R. Station, New York, NY 10150.
COMPUTE! Publicationsjnc©
One ot the ABC PuDiishmg Companies ^^^
12 SPACES1412 SPACES} 3
12 SPACES] 21 2 SPACES ]1
ISPACE)C>": RETURN
AQ 640 PRINTTM?"!5 DOWNHRVS]
{BLKil39 SPACESj":RETUR
N
'<! !>"
rfliiilE'illi
RED'S TURN
_• - * • r-o«
This version of "Tug-a-War" runs on ail
Atari 400, 800, XL, and XE computers.
Program 2: Tug-A-War For
Atari 400/800, XL, XE
Version by Kevin Mykytyn, Editorial
Programmer
Q: 10 CB = PEEK ( 106) -8: POKE 10
6, CB-4: GRAPHICS 1B:DIM
C« (4) , CDL( 11), MOV (4> ,
K$ ( 1 ) : CS="Ztiz=J"
1120 MOV ( 1 ) =-1 : MDV (2) =-2: MO
V(3) =1 : M0V(4) =2: OPEN #
1, 4, 8, "K: ■' tEDSUB 190:3
OSUB 230
KL 30 BP = i:PL = 0
(IP 40 PL= (PL = 0) ;eoSUB 290:PO
KE 5324B, 72+BtBP
NK 50 BET #1 , K: Kt = CHR« CK) : IF
K«="A" THEN SP=11:G0T
0 90
EB 60 IF K*="0" THEN SP=10:B
OTO 90
HF 70 IF KS<"1" OR P:*>"9" TH
EN 50
DL B0 SP = VAL<K*!
CK 90 IF tPL = 0 AND 12-SP>BP>
DR (PL=1 AND SP<BP> T
HEN 120
KO 100 BP = BP + MOV (CDL (BPM : IF
BP>12 THEN BP=12
HI1110 IF BP = -1 THEN BP = 0
KI 120 GOSUB 320
LK 130 IF BP>0 AND BP<12 THE
N 40
B6 140 POKE 5324B, 72 + a«BP:P0
SITIDN 4,9
EN 150 IF BP = 0 THEN PRINT #i
; " BLUE WINS 1 " : GOTO
170
BJ 160 PRINT #6;" RED WINS!
CI 170 POSITION 0, 1
i; " t3 SPACES
y key<3 SPAC
BK 180 6ET «1 , K: GOT
JH 190 NS = CBt256: PO
5: PRINT #i; "
IT"
KF 200 FOR A = 0 TO 1
NS+A, PEEK(57
XT A
FC210 POKE 756, CB
464 TD NS+47
126SNEXT A
CO220 FDR A = NS+153
920:PDKE A,0
OR A=NS+1596
03:PaKE A+25
E A+12a, 126
46 «}WUIB April 1986
1 :PRINT *
> press an
ESJ "
0 30
SITION 5,
PLEASE WA
023: POKE
344+A) : NE
FDR fl=NS+
1:P0KE A,
6 TD NS+1
;NEXT A:F
TO NS+16
6, 126: PDK
NEXT A
SI 230
JB 240
FP 250
DJ 260
KL 270
in 280
U 290
FE 300
BK 310
PO 320
n 330
PE 346
LH 350
PDKE
1:PD
5324
3:P0
E 70
FDR
601
EXT
TURN
4
PR IN
SITl
1 2
: PRI
QSIT
"^
eB=p
(561
KE G
POST
TO 1
1 ) ; C
CS (□
PDSI
6; "
U" : R
POSI
IF P
; "BL
ON 4
RINT
NT #
PRIN
'■: PO
#6; "
STE
NEXT
IF P
FOR
50: N
FOR
P -1
:ReT
COL (
L(A)
6:PR
COL (
559
KE 5
9, 16
KE 5
4, 15
A = NS
f?EAD
A:PO
: DA
T «6
ON 6
12"
NT tt
ION
SI"
EEK (
) : PD
B+16
TION
1 : D =
DL (A
,D) ;
TION
, 46: PDKE 623,
3250, 72:PDKE
a:PDKE 53277,
4279, CB+4: POK
PDKE 705,52
+1598 TO NS+1
B:PDKE A,B:N
KE 706, 132: RE
TA 24,60,60,2
; " {CLEAR} " : PO
, 0: PRINT #6; "
: POSITION 6, 1
6 ; '■ Z pi 2 f: '■ : p
7,2:PRINT #6;
560>
KE B
,6
4, 6
INT (
) =Q:
: NEX
0, 1
+256»PEEK
B+10, 6: PO
:FOR A=l
RND (1 ) «4+
PRINT #6;
T A
1:PRINT «
ETUR
TION
L=l
UE' S
,5:F
»6;
6; "0
T «6
SITI
A0";
P -1
A: R
L = 0
A=l
EXT
A=ll
: GOS
URN
A) =C
= 4»
ENT
A) )
N
4,9
THEN
TUR
DR A
A; : N
A" : R
; "RE
ON 4
: FOR
: PRI
ETUR
THEN
TD S
A: RE
TO
UB 3
PRIN
N" : PD
1 TD
EXT A
ETURN
D' S T
, 5: PR
A = 9
NT #6
N
340
P: GDS
TURN
12-SP
50: NE
T #6
SITI
9: P
: PRI
URN
INT
TO 1
;fl; :
UB 3
STE
XT A
DL ( A) +1-4* (CO
POSITION 3+A,
#6; C« (COL ( A) ,
RETURN
"Tug-a-War" for the IBM PC and PCjr.
Program 3: Tug-A-War For
IBM PC/PCjr
Version by Kevin Mykytyn, Editorial
Programmer
SE 10 GOTO 30
6N 20 FOR ROW=0 TO 2: LOCATE Y+RO
W,PS*3+X: PRINT B»:NEXT:RET
URN
NO 30 KEY OFF: SCREEN 0,0: WIDTH 4
0:BS=CHR*(222)+CHR*(219)+C
HRS(221)+CHR*(31>
HP 40 DIM COLdl) :BPs6:C(l>=2:C(
2)=6:C(3)=3:C(4)=5:PL»0:RA
NDOMIZE TIMER
Lft 50 MDV{l)=-l:MaV(2)=-2:MDV(3>
=l!M0V(4)=2
LP 60 GOSUB 190
CI 70 PL=(PL=0) : GOSUB 230: GOSUB
240:GDSUB 180
LA 80 K*=INKEY*:IF K*="a" OR K*=
"A" THEN SP=11:GDT0 110
DJ 90 IF KS = "0" THEN SP = 10:GOTO
110
HE 100 IF Kt<"l" OR K$>"9" THEN
80 ELSE SP=VAL(K»)
HE 110 IF (PL=0 AND 12-5P>BP) DR
CPL=-1 AND SP<BP> THEN 1
30
NL 120 BP=BP+MOV(COL(BPn : IF BP>
12 THEN BP=12 ELSE IF BP=
-1 THEN BP=0
NO 130 BOSUB 260: IF BPJ0 AND BP<
12 THEN 70
LJ 140 GOSUB 230: LOCATE 20, 15: CD
LOR 9: IF BP=0 THEN PRINT
" Blue Wins' " : GOTO 160
OL 150 COLOR 4: PRINT " Red Wins!
FA 160 LOCATE 23, 8: COLOR 14: PRIN
T "Press any key to play
again": BOSUB 180
GJ 170 A«-=INKEY«: IF AS="" THEN 1
70 ELSE RUN
FF 1B0 DEF SEG=0:PDKE 1050, PEEK (
1052) : RETURN
8£ 190 CLS: Y=3: X=0:FDR A=l TO 4:
PS=4+A: COLOR C (A): BOSUB 2
0:NEXT
FE 200 COLOR 14: PRINT SPC(15>CHR
»(17)" "STRIN6«(2, 17)" "
CHR»(16)" "STRING* (2, 16)
EI 210 Y=13:X=l: COLOR 9:PS=0:GOS
UB 20:FOR A=l TO 11:Q=INT
(RND(1)«4+1) :COL(A)=Q:CDL
OR C(Q):PS=A: BOSUB 20: NEX
T: COLOR 4: PS=12! GOSUB 20
a 220 LOCATE 23, 8,0: COLOR 10: PR
INT "Press (0-9) or 'A' f
or all": RETURN
EF 230 COLOR IS: LOCATE 14,BPt3+2
:PRINT CHR$ (219) ; RETURN
BE 240 LOCATE 20, 15: IF PL=0 THEN
COLOR 4:PRINT "Red's Tur
n ":LOCfiTE 11,5:PRINT "A
0 ";:FDR As=9 TO 1 STEP-1
:PRiNT A; : NEXT: RETURN
IF 250 COLOR 9: PRINT "Blue's Tur
n": LOCATE 11, 4: FDR A=l TD
9:PRINT A; :NEXT:PRINT "
0 A": RETURN
HI 260 IF PL=0 THEN 2B0
BO 270 FOR A=I TO SP: BOSUB 290: N
EXT: RETURN
ff 280 FOR A>=«I1 TO 12-SP STEP-1:
GOSUB 290: NEXT: RETURN
BE 290 C0L(A>=C0L(A>+l+4* [CDL(A)
=4>: COLOR C (CDL ( A) ) : PS=A:
BOSUB 20: RETURN
Program 4: Tug-A-War For
Apple
Version by Tim Victor, Editorial
Programmer
n 100 GOSUB 400
BA 110 HGR : HOME
3C 120 HCOLOR= 3: FOR TD = - 1 T
D 1 STEP 2: FOR TN » 0 TO
1: FOR TX = - 1 TO TN ST
EP 2: GDSUB 500: NEXT : N
EXT : NEXT
DC 130 VP = 40
A! 140 FOR I = 0 TO 3:HC = CT ( I )
:PS = 4.5 + I: BOSUB 430:
NEXT
E8 150 yp = 146:HC = 1 : PS = 0: G
OSUB 430: GDSUB 460
A£ 160 FOR I " 0 TO 10:BC(I) = I
NT ( RND (1) « 4) :HC = CT
CBC(I))}PS =1+1: GOSUB
430: NEXT
From the publishers of COMPUTE!
April 1986
COMPUTE! Disk
All the exciting programs from the past three issues of COMPUTE! are on
one timesaving, error-free floppy disk that is ready to load on your IBM PC
and PCjr computers. The April 1986 COMPUTE! Disk contains the enter-
taining and useful IBM programs from the February, March, and April 1986
issues of COMPUTE!.
The April 1986 COMPUTE! Disk costs $12,95 plus $2.00 shipping and
handling and is available only from COMPUTE! Publications.
For added savings and convenience, you may also subscribe to the COM-
PUTE! Disk. At a cost of only $39.95 a year (a $12,00 savings), you'll receive
four disks, one every three months. Each disk will contain all the programs
for your IBM machine from the previous three issues of COMPUTE!.
This is an excellent way to build your software library while you enjoy the
quality programs from COMPUTE!.
Disks and subscriptions are available for Apple, Atari, Commodore 64 and
128, and IBM personal computers. Call for details.
For more information or to order the February 1986 COMPUTE! Disk, call
toll free 1-800-346-6767 (in NY 212-265-8360) or write COMPUTE! Disk,
P.O. Box 5038, F.D.R, Station, New York, NY 10150.
COMPUTE! PublicationsJncS
One of the ABC Pubttshing Componies
Apple "Tug-a-War," a challenging strat-
egy game.
VI 170
F?
100
4?
190
8?
200
IS
210
E4
220
41 230
17 240
54 250
U 260
47 270
99 280
25 290
a> 300
IF 310
5A 320
51 330
13 340
?F 350
12 360
33 370
41: 3B0
HC = 6: PS = 12: GDSUB 430
: GDSUB 460
BP = 5: GDSUB 470
VTAB 21: FOR I = 1 TQ lit
HTAB I « 3 + 2: IF I < 1
0 THEN PRINT CHR» {4S + 1
>;
IF I = 10 THEN PRINT "0";
IF I = 11 THEN PRINT "A";
NEXT : VTflB 23: HTflB 1: P
RINT "GREEN'S MOVE: ";
BOSUB 520: ft = ft - 1: IF (
BP < = A) THEN BP = BP +
JTCBC<BP) )
FDR I = 0 TQ «:BCn) = BC
(I) + 1 - 4 * (BCd) = 3)
:HC = CT(BC(I) ) :PS = I +
1: GOSUB 430: NEXT
GDSUB 470
IF BP < 0 DR BP > 10 THEN
360
VTAB 21: FDR I = 1 TD 1 1 :
HTAB (12 - I) * 3 + 2: I
F I < 10 THEN PRINT CHR*
(48 + I) ;
IF I = 10 THEN PRINT "0";
IF 1 = 11 THEN PRINT "A";
NEXT : VTAB 23: HTAB li P
RINT "BLUE'S MOVE: "J
GDSUB 520: A = 11 - A; IF
(BP > = A) THEN BP = BP +
JT(BC{BP) )
FOR I = 10 TD A STEP - 1:
BCd) = BCd) +1-4* (
BCd) = 3):HC = CT(BCd) )
:PS = I + 1: eOSUB 430: N
EXT
GDSUB 470
IF BP < 0 OR BP > 10 THEN
360
BQTD 190
PS = 12 t (BP > 0) - 1: H
COLOR= 4 * (BP > 0): BQSU
B 490
VTAB 23: HTAB 1: IF BP <
0 THEN PRINT "GREEN WINS
": GOTO 390
IF BP > 10 THEN PRINT "BL
UE WINS "
M 390 GET A*: GDTD 110
DE 400 FDR I = 0 TD 3: READ CT d
) 8 NEXT
3B 410 FDR I =
): NEXT
H 420
8C 430
n 440
IE 450
AB 460
52 470
0 TO 3: READ JTd
: RETURN
DATA 3,5,6,2,-1,-2,1,2
HCOLDR= HC: FOR YP = VP T
0 VP + 10
HPLOT PS « 21 + 1,YP TD P
S * 21 + 17, YP: NEXT
RETURN
HCQLDR= 3: FOR YP = VP +
1 TD VP + 9 STEP 2: HPLDT
PS » 21 + 1,YP TD PS t 2
1 + 17, YP: NEXT : RETURN
IF BP < 0 OR BP > 10 THEN
RETURN
19 4B0 HCOLOR= 4 t (CT(BC(BP)) >
3) :PS = BP
74 490 FOR YP = VP + 3 TO VP + 7
: HPLDT PS * 21 + 27, YP T
0 PS * 21 + 32, YP: NEXT :
RETURN
IF 500 TP = 124 + (TD + TN) t 21
+ TN * TX « 4:TL - TP +
TD » 3:TR - TP - TD « 3
E5 510 HPLOT TR,60 TD TL,57 TO T
R,54: RETURN
84 520 POKE 49168,01 GET A*: IF
A* = CHR» (3) THEN END
1? 530 IF A* = CHR* (3) THEN END
CS 540 IF A* < > "A" AND A* < >
"a" AND (AS < "0" OR A» >
"9") THEN 520
J6 550 IF At = "A" DR ft* = "a" T
HEN A» = CHR* (59>
38 560 IF AS = "0" THEN At = CHR
« (58)
51 570 A = ASC (At) - 48: RETURN
Program 5: Tug-A-War For
Atari ST
Version by Kevin Mykytyn, Editorial
Programmer
10 fullw 2:clearw 2:coIor 1,1/1
20 bp = 6:c(l) = 6:c(2) = 7:c(3) = 10:c(4)= 12:pl
=0
30 movd ) = -l:mov(2) = -2:inov(3) = l:mov(
4) = 2
40 gosub 170:gosub 270
50 pl=(pl=0):gosub drawball;gosub play
er
60 gosub readmousedf y<98 or y>127 o
r x<34 or x>273 then 60
70 sp = int((x-ll)/24)
80 if (pl=0 and sp>bp) or (pl=-l and sp
<bp> then 110
90 t=c(col(bp));color l,t,t:pdrcle bp*24+2
2,91,6
100 bp=bp+inov(col(bp)):if bp>ll the
n bp = ll else if bp=-l then bp=0
110 gosub colchange
120 gosub drawballiif bp>0 and bp<ll th
en 50
130 gotoxy 13,14:if bp = 0 tlien color 5:pri
nt " Blue Wins! ":goto 150
140 color 2:print " Red Wins! "
150 gotoxy 10,16:color l:print 'Tress Mou
se Button":gosub readmouse:clear: go
to 10
160 drawball: color l,l,l:pctrcle bp*24+2
2,91,6:return
170 for a =-75 to 105 step 30:linef 10,a,298,
a:next
180 for a=10 to 298 step 24;line£ a,75,a,10
5:next
190 color l,5:fill 12,77:color l,2:fUI 296,77
200 gotoxy 12,3;print "1 2 1 2"
210 for a = 100 to 220 step 24:linef a,19,a,3
7:next
220 for a = 19 to 37 step 18:linef 100,a,148,
a:linef I72,a,220,a;next
230 color l,6:fill 101,20:co]or l,7:fill 125,20
240 color l,10:fill 173,20:eolor l,12:fill 197,
20
250 gotoxy 13,4:print chr$(4);" ";chr$(3)
260 return
270 for a=l to 10:q=int(rnd(l)*4+l);col(a
) = q:color l,c(q):mi 25 + a*24,77
280 next:return
290 readmouse; poke contrl,124
300 poke contrl+2,0;poke contrH-6,0
310 vdisys(0);if peek(intout)=0 then 310
320 X = peek(pt90Ut):y = peek{ptsout + 2)
330 return
340 colchange: if pl = 0 then 360
350 for a=l to spigosub 370;next:retum
360 for a=10 to sp step-l:gosub 370:next:r
eturn
370 coKa) = col<a) + 1 +4*(col(a)= 4)
380 color l,c(col(a)):ffll 25 + a* 24,77
390 return
400 player: gotoxy 13,14:if pi =6 then colo
r 2:print "Red's Turn ":return
410 color 5:print "Blue's Turn":return
Pfifc Fllf »«w E<H PrtWT •
I I I
Red's Turn
IS
Use the mouse to play the Atari ST ver-
sion of "Tug-a-War."
Program 6: Tug-A-War For
TI-99/4A
Version by Patrick Parrish,
Programming Supervisor
100 GOTO 150
110 FOR 1=1 TD LEN(A*)
120 CALL HCHAR (R, C+I , ASC (SE
E* ( AS, 1 , 1 ) ) )
130 NEXT I
140 RETURN
150 RANDOMIZE
160 CALL COLOR ( 14, 1, 7)
170 CALL SCREEN(2)
1B0 PC(0)=5
190 PC(1)=7
200 Pt(0)="BLUE"
210 P*(n="RED"
220 Y*(0)="<- 12 3 4 5
6 7 B 9
230 Yt(l)=" 9 8 7 6 5
4 3 2 1 ->"
240 KHAR<0)=0
250 KHAR{10)=5
260 FOR 1=96 TO 136 STEP 8
270 CALL CHAR ( I , "0000000000
000000" )
280 CALL CHAR( I+l , "0F0F0F0F
0F0F0F0F" )
290 CALL CHftR( 1+2, "3a7SFCFC
FC7830" )
300 CALL CHAR( 1+3, "00103010
10101038" )
310 CALL CHAR ( 1+4, "00384404
0B10207C" )
320 NEXT I
330 PS=5
340 PL=0
350 BP=17
360 CALL CLEAR
370 GDSUB 1000
380 PRINT TAB (1 1 ) ; "TUB-A-Wfl
R"
390 PRINT : s
400 B« = CHR» (12S)&CHR* (12B) !<
CHR»( 129)
410 PRINT TAB (9) 5 "hhippq xx
y";B»
420 PRINT TAB(9) i "hkiptq xC
y"!CHR* ( 128) ; CHR* ( 132) ;
CHR* ( 129)
430 PRINT TAB(9) ; "hhippq xx
y";8»
48 COMPUTEI April 1 986
COMPUTEl's All New Apple Applications Special
COMPUTEI's latest Apple Applications Special features in-depth articles and interviews,
all the inside news about Apple, clearly written tutorials, software buyer's guides, new
product information, and valuable ready-lo-type-in programs for all Apple users.
kTulc.r.::l--3:]tjreCT„Tn-:>lr.'i..-jrvv;rk,ingaOf VccPgnt. WacDrow. And ,V1c;- 'ATITl,-
special:
APPLICATIONS ISSUE
Gettho Reody Ftx
T6tecorTmijr4cattons
Exptortnq Dolobassi
■
A Gome-Lovefs
ChdCBs:
The Ten Best-Ever
ApplQ Games
A First Look
At Jazz
For The Macintosh
J?eQdv-To-Use Programs
Free Wcth TNs bsue:
Haai SsQkw: A (m.t-pocM
arco« iHyUfioiTA
Q>«s: Flv« ttvw of
Cfiflidnolrgi pioy owat yoij
; Oueuog game Icf
I Softiaofcrwr A mocnine^
ksn^joge search
routru
' And iTce
AppJe In Education
Apple owners find these special Apple
Issues the most understandable,
complete, and valuable resources
available today.
PLUS
All the programs in COMPUTEl's Apple Applications
Special are also available on a timesaving disk,
ready to run on your Apple II, I1+, He, and lie.
The Disk costs only $12.95 (plus $2.00 shipping
and handling) and gives you immediate access to
all the great programs in this special issue.
Look for the Spring/Summer 1986 issue of
COMPUTEl's Apple Applications Special on sale
where you buy other COMPUTE! publications, or
order dh-ectiy from COMPUTE!. This special issue
goes on sale April 8, 1986.
Send in the attached order card or call toll free
800-346-6767 (in NY call 212-887-8525).
Features
• Business Applications
'86 Apple: An Interview with John Scully
A wide-ranging interview with the president of Apple. The
company's plans for the coming year, its markets, the new
Macintosh, and the viability of the Apple II.
Busiitess Software Buyer's Guide
A buyer's guide to the newest Apple 11 and Macintosh word
processors, databases, spreadsheets, and more.
The Expanding Mac
• Education
Apple Rules the Schools
Why does Apple have a lock on educational computing?
Comments from teachers, administrators, and Apple.
Computers and the Humanities
Educational Software Buyer's Guide
• The Expanding Apple
If 9 New II
A multitude of new hardware and software for the Apple 11
line — from color printers to Mac-like software — is evaluated.
Weirdware: Off the Beaten Software Path
Weirdware — out of the ordinary software — can turn the Apple
II or Macintosh into a telescope, astrological fortune-teller, baby
evaiuator, and much, much more.
MacAdds: More for the Macintosh
Applications
• Utilities and Tutorials
Windows
Create Macintosh-style windows on any Apple Il-series
computer. Set window size, open, close, and retrieve information.
Mouse Cursor
A Macintosh BASIC utility for altering the mouse pointer.
Design data can be saved, then used in other BASIC programs.
Your Personal Ledger
A complete personal financial application for tracking
expenses, income, and assets. Easy to use, and packed with features
from report generation to customized category codes.
Personal Publishing With Your Macintosh
Tutorial and guide to using such software as MacPaint and
MacWrite to customize letterheads, cards, banners, and more.
Keynote
• Education and Recreation
Lexitron
Entertaining word game where players try to beat the clock
while finding as many hidden words as possible.
Backgammon
Play the computer in this classic game. This version observes
all the rules of standard backgammon.
Apple Automatic Proofreader
COMPUTE! Publicatioi^sjnc®
Part of ABC Consumer Mogoiines. inc. ^Ifr
One of the ABC PubSsrttng Companies
625 7th Avenue. 6fh Floor, New York. NY 10019
PubhsriefS of COMPUTE". COMPUTE''! Goietre, COMr*UTE''l GQ2e1T** OcW. COMPUTE' Boott. OM COMPUTtl's App*& Aoc*C01'Onj
'<-■• ;TflB (
440 PRINT
450 PRINT TflB<ll)
IB) ; '• - > "
460 FDR 1=1 TO 15
470 PRINT
480 NEXT I
490 FOR 1 = 1 TD ■?
500 RANDOMIZE
510 KHAR ( I >=INT {4»RND) +1
520 NEXT I
530 FDR R=13 TD 15
540 CALL HCHARCR, 2, 96, 2)
550 FOR 1 = 1 TO *?
560 KH-96+KHAR( I ) »8
570 CALL HCHAR !R, 1*3+1 , KH)
5B0 CALL HCHARfR, 1*3+2, KH)
590 CALL HCHARiR, 1*3+3, KH+1
)
600 NEXT I
610 CALL HCHAR !R, 31 , 136, 2 J
620 NEXT R
630 CALL HCHARI 14, BP, 96+KHA
R (PS) «B+2>
640 IF (PS=0) + (PS=10) THEN 1
180
650 AS=Y»(PL)
660 R=17
670 C=l
680 GOSUB 110
690 CALL HCHAR(24, 17, 32)
700 A$ = P« (PL) «i"' S TURN "
710 R=20
720 C=ll
730 eOSUB 110
740 R=22
750 C=14
760 A«=" (1-9) "
770 GOSUB 110
780 605UB 1020
790 CALL KEY(0,K,H)
800 IF H=0 THEN 790
810 IF (K<49) + (K>57) THEN 77
0
620 AN=K-48
930 CALL HCHAR (24, 17, K)
840 IF PL=0 THEN 890
850 AN=10-AN
860 S=fiN
870 E=9
880 BOTO 910
890 B=l
900 E=AN
910 GOSUB 1100
920 FOR Q=S TO E
930 IF KHAR(Q)<>4 THEN 960
940 KHAR(Q)=1
950 QOTO 970
960 KHAR (G) =KHAR (Q> +1
970 NEXT Q
980 PL=-(PL=0>
990 GOTO 530
1000 CALL C0L0R(9,1,S)
1010 CALL COLOR( 14, 1 ,7)
1020 FOR 1=1 TO 8
1030 CALL COLQR{ I ,PC (PL) , 2)
1040 NEXT I
1050 CALL COLOR ( 10, PC (PL) , 1
6)
1060 CALL COLOR ( 1 1 , PC (PL) , 1
i)
1070 CALL COLOR ( 12,PC{PL) , 8
)
10B0 CALL COLOR ( 13, PC (PL) , 1
4)
1090 RETURN
1100 IF ( (AN<PS) * (PL=0> ) + (A
N>PS) » (PL=1 ) THEN 1170
1110 A= (KHAR (PS) =1 )+ (KHAR (P
S) =2) «2- (KHAR (PS) =3) -(
KHAR (PS) -4) *2
1120 BP=BP+A«3
1130 PS=PS+A
1140 IF (PS>0) t (PS< 10)THEN
1 170
1150 PS=-(PS=-1)+{PS=11)+PS
1160 BP=-(BP<5) «3- (BP>29) «3
1
1170 RETURN
11B0 R=14
1190 C=7
1200 A« = P* (- (PS=10) > 8." IS T
HE WINNER ! "
1210 GOSUB 110
1220 A«="LIKE TO PLAY AGAIN
(Y/N) ?"
1230 R-24
1240 C=4
1250 QOSUB 110
1260 CALL KEY(0,K,H)
1270 IF H=0 THEN 1260
1280 IF (K<>7a) I (K< >89) THEN
1260
1290 IF K=a9 THEN 330
This version of 'Tug-a-War" uses several
of the Amiga's 4,096 different color
shades.
Program 7: Tug-A-War For
Amiga
Version by John Krause, Assistant
Technical Editor
SAY TRAUSLATESC'")-
SCREEN 2,320,800,3,1-
WINDOW 3," Tug-A-War "„12,2-
FOR i = 0 TO 7-
READ r,g,b"
PALETTE i,r,g,b-
NEXT-
RAWDOMIZE TIMER-
DIM a(l 1)-
FOR i=l TO 11-
aCi) = INT(RKDC 1)*4) + 4-
NEXT-
row = 3-
col =3: coir =4:003113 frame: GOSUB squ
are-
col=4:00lr = B:G0SirB frame:QOSTIB BdU
are-
ool = 8:oolr = 6:GOStrB fram9:Q0SUB equ
are-
col =9:C0lr=7:Q0SUB frame:Q08'DrB seju
are-
row =10-
LOCATE 5,11:C0L0R 1,4:PRINT "3"-
LOCATE 6,14:CQL0R 1,5:PRINT "1"-
LOCATE 6,36:C0L0R l,6:PRmT "1""
LOCATE 6,29:C0L0H 1,?:PRINT "3"-
LINE (64,36)-STEP(-16,0),l-
LINE -STEPCa,4),l-
LIWE (4a,36)-STEP(8,-4),l-
LINB C848,36)-STEP(16.0),1-
LINE -STSP(-a,4),l-
LIWE (264,36)-STEP(-S,-4),l-
FOR col = 0 TO 13-
GOSUB frame*-
NEXT-
col=0:oolr = 3:GOSirB square-
ool=12:colr=S:aOSUB square-
dot =8: GOBUB update-
SAY TRANSLATE S(' ' welcome to tug o wa
r.")-
main:-
LOCATE 17,15-
IF red THEN-
COLOR 2,0:PRINT "Red's turn "-
SAY TRANSLATESC'reds turn.")^
ELSE-
COLOH 3,0:PRINT "Blue's turn"-
SAY TRAKTSLATESC'blues turn.")-
BKD IF-
WHILE MOUSB(0)<>1 OR M0U3E(4)<e
0 OR MOU3E(4)>104 OR M0USE(3)<2
3 OR M0USE(3)>276-
WEND-
click = INT(M0irSE(3)/24)-
IF (red AND ollck< = dot) OR (red=0 AN
D cllck> = dot) THEN -
temp = dot-
IF aCtemp)=4 THEN dot-dot-2-
IF aCtemp) = 5 THEN dot = dot-l-
IF a(temp) = 6 THEN dot = dot +1-
IF a(temp) = 7 THEN dot = dot + 2-
END IF-
IF red THEN-
FOR 1 = click TO 11-
a(i)=a(i) + l-
IF a(i)-=6 THEN a(l)=4-
NBXT-
ELSE-
FOR i=l TO cliok-
a(i) = a(l)+l-
IF a(i) = 8 THEN a{i) = 4-
NEXT-
END IF-
IF dot>ll THEN-
dot=12:G0SIIB update-
LOGATE 17,16:C0L0R S,0:PRINT " Re
d winal "-
SAY TRANSLATE$C'red wins.")-
GOTO qult-
END IF-
IF dot<l THEN-
dot=0: QOSUB update-
LOCATE 17,15:C0L0R 3,0:PRINT "Blu
e wins! "-
SAY TRANSLATESC'blue TiTlIlB.")'-
QOTO qult-
END IF-
QOSUB update-
red— 1-red-
GOTO main-
frame:-
x = 34:IF 34*ool>3a0 THEN x = 33-
LINE (24*001 , 8*ro w)-STEP(x, 24) , 1 ,1) -
HETURN-
square:-
x=22:IF 24*col+l>380 THEN x=31-
LIWE(24*ooH-l,aTow + l)-STEP(x,22),o
olr,tif-
RETUEN-
update:-
FOR 001=1 TO 11-
oolr=a(ool):GDSUB square-
NEXT-
CIRCLE (24*dot+ll,91),6,l-
PAINT (24*dot+ll,91),l-
RETURN -
quit:-
LOCATE 19,7:C0LOR 1,0:PRINT "GliC
k mouse to play again. "-
SAY THAN3LATE4("click mouse to pla
y again. ")-
WHILE MOUSB(0) = 0:WEND-
RUN-
DATA .6,.5,.5,0,0,0,1,0,0,0,0,1,0,1,0,1,1,
0,1,0,1,0,1,1- ^
SO COMPUTE! April 19B6
Reviews
Silent Service
Neil Randall
Requirements: Commodore 64 or 128 (in
64 mode); Apple Il-sertes computer with
at least 64K RAM; Atari 400/800, XL, or
XE with at least 48K RAM; IBM PC with
color/graphics adaptei; or an IBM PCjr. A
disk drive is also required, and a joystick
is recommended. The Commodore version
was reviewed.
Silent Service, from Microprose Soft-
ware, is one of a new type of computer
war game. A cross between arcade ac-
tion games and traditional strategy war
games, these new games put you on the
battlefield in command of a plane, tank,
or submarine. Microprose's F-15 Strike
Eagle placed you in a modem jet fighter.
In Silent Service, you're the captain of a
U.S. submarine in the Pacific during
World War II. Your mission is to sink
Japanese cargo, troop, and oil shipping.
The game includes several scenarios
based on actual engagements.
Silent Service employs several
graphics screens to relay the infor-
mation needed to command the sub.
The Patrol Navigation Map shows a
150,000 square-mile area of the Pacific
Ocean from Midway Island to China
(east to west), and Australia to the
U.S.S.R. (south to north). This is the
strategic map on which j'ou move your
sub to find Japanese shipping lanes.
Once you've found a convoy, the tacti-
cal map kicks in.
The tactical map is actually a series
of three differently scaled maps. The
Patrol Area Map is described above.
You can zoom to the Navigation Map,
which shows an area of 2,400 square
miles around your sub, and zooming
further yields the Attack Plot, a 40-
square-mile area. The detail of land
masses and enemy ships changes with
the zoom. The Attack Plot displays the
wake of each ship, to show which direc-
tion it is going. You use the Patrol Area
Map to find the enemy convoy, the
Navigation Map to close in on it, and
the Attack Plot to position your sub for
attack.
Superb Graphics
Once you've located your prey, you
shift to a view of the conning tower, the
captain's station. Using the joystick (the
game is joystick- or keyboard-
controlled), you either use the peri-
scope or move the captain to one of the
other stations: instruments and gauges,
maps and charts, damage reports, quar-
termaster's log, or the bridge. Like the
map screens, each battle station screen
is graphically superb and very detailed.
Here are 79 reasons to
buy at Elek-Tek. not to
mention the fastest
delivery anywhere.
L*MSCA
BERNOULLI BOX
1. 10 meg Vi height Drive tor
IBM-PC«T/AT 8.
compatibles $ 1B7S
2. 20 meg '/z height Drive for
IBM-PC/XT/AT &
compatilsles 2335
3. Non-Bootable Interface
Card XO*
4. Bootable Interface Card ... 234
5. 10 meg cartridges for above
(3 pak special) 125
Save 30% to 43%
off Manufacturer Suggested Ret. prices on
America^ most wanted Printers
Huge Discount on
TOSHIBA
^^^^ EPSON
EPSON « '^^
UfSO S21S
RX 100+ 2M
FX85 340
FX286 OkLL
ua 1500 parallel CALL
DXiO Oasy Wtieei 10CPS ...230
DX20 Daisy Wheel 20CPS ... 320
13. DX35 Daisy Wheel 35CPS .SM
UHBEUEVABLEm
XEROX/MABLO 0-36
DalsyWheel 3SCPS
Mtr. Sugg, Rei. $1495
Elefc-Trti Pr!c< $450
P-38 Dot {Matrix 400CPS
Mtr. Sugg. Ret. $1995
EMc-ltek Price $600
PRODUCTS FOR IBM-PC
14. AmdakSlOA
23 ECCELL Daughterboard . . . 13S
31. Hayn1200
Amber Monitor 1 1 50
24. ECCELL I/O Board »
External modem 380
15. GenerteHulll
25 Hanajlas
32. Hayn 12008
Multilundion Board, 61K ... 135
Monochrome Card 299
Inlemai modem wteottirare .359
16. G«nw1c Mum 384K
2«. Hennila Color
33. HlyM2400
Multilundion Board. 3B4K . . ITS
Cdor Graphic Card 155
External modem 599
17. AST SIX P«J< +
27. l4antlon 4BC5921
Multilundion Board. 64K ..225
12008 tnt No Software 150
Internal modem wfsoftware . 525
IB. AST Six RaK + (kudnJ)
with MITE Software 185
3S. A'nT4000
Multilundion Board. 3WK .290
28. Nontkm 4«0«a$-1
300/1200 Ext lylc<!em 335
19. Qusdram Quadboaid
24O0BPS inc Mite Software .83)
36. USRobo)lc*Courtor2400
MultilundW Boatd, OK ... 195
29. Nontlon 4aoe(a
Ext- 2400B Smart Modem . 460
20. Mulli Board. 6dK08JK ..210/267
Vi Card Modem 24O0 BPS
37. ToMtMHNOa4DT
21. OrehWTBctt.
No software 425
V% hi OSOD Disk Orrw 90
PC Turbo 186 570
30. NoviUan 490603-1
22. ECCELLOK 399
As above inc MS-DOS Soltvm . .4M
38. Dysan
39. 1 BAR 8-15
8 Outlet Surge Protector . $50
40. XIDEX Precision
Internal H.D. Subsystem
20 Megabyte $500
DS/DD Diskette 10pl(/$7.00
5 boxes minimum
DISKETTES
3M DATA
Dygm moxal 3M kcmorex |^B
CARTRIDGES
SVi'SSDO
OSDD
6Vi" SSDD
DSDD
SSKI9STPI
0SDO9«TPI
SVi'DSOOWD
(FbrlBU AT)
B- SSDD"
8" DSDD"
••U(*»TMtttd
20M lOM 23M _ _
27JW 2&M 29JM _ _
15.00 ^3M 12J» 11.50 nM
MM 15.00 15.00 14JM KM
24.00 2*M 24JM _
33.00 39JX 29J» _ _
33M 28.00 30JJO _ 24M)
22.00 asm 2S.0O _ _
26JXI 32.00 29.00 _ _
73.DC100A S 13^
74. DC300A 17.50
75. DC3D0XL 20.50
76.DC300XLyP 21.50
77. DC600A 23.00
78.DC1000 14J0
79. DC2000 19.50
Call for qinnmy piMng lor ID
cvtrtoQH or mon.
Call for Ouanttty pricing for 10 bom or mora.
Cwv^ toot. kMIM. Ml
Snt nim Vta > ■B«rt:ri IV lU > llni^ lU CBMr> Owl^ ■•» IM, >««|M OlM ajh a (ha) >M HM W IBL UUL >«
E
:_^^ S5ST IV Uxto"' A.r Cx.Lji9i> II EO&DS
.|||C |312|E]T7BO0 |31?tB;7'EeO
■LEK-T
'EK
April 1986 COMPUTE) 61
If the sub is surfaced, you can
climb to the bridge. From here you can
look around to spot the enemy ships,
using your naked eyes or binoculars.
The view includes the Japanese ships
(several varieties, each graphically dif-
ferent) and the land on the horizon. The
landforms correspond exactly to where
you are in the Pacific; if you patrol to
the coast of New Guinea, you will see
the coast of New Guinea. Given the
amount of territory covered in the
game, the mapping system is obviously
very sophisticated.
The binoculars and periscope
screens include all the details necessary
for firing at the ships: target type, target
range and speed, and such data as angle-
on-bow. You may fire the deck guns or
torpedoes, but only torpedoes are con-
sistently effective.
These screens are the heart of the
action, but to keep the sub running you
must pay strict attention to your ves-
sel's instruments and gauges. They dis-
play information about the battery, the
depth of the sub and of the ocean floor
beneath you, fuel levels, the status of
hull openings, and so on. For instance,
the battery allows restricted underwater
maneuvering, depending on your
speed, and then must be recharged on
the surface.
This assortment of screens from Silent Service
shows the diversity of the program's graphics.
Attention To Detail
Other facets of the game are equally
realistic. If your sub hits the ocean bot-
tom, you hear a scraping sound and the
hull may be damaged. You can cruise at
four speeds or cut the engines for silent
running. More esoterically, once per
mission you can get rid of your emer-
gency tanks to stop a fatal dive, or
release debris to the surface to fool the
Japanese destroyers into thinking
you've been sunk. Sound effects range
from sonar pings — telling you that de-
stroyers are closing in — to the ominous
explosions of nearby depth charges.
The sub's hull even creaks if you dive
deeper than it was tested for, and you
hear a grinding metallic sound if you're
rammed by an enemy ship. Silent Ser-
vice's detail is astonishing.
But the most impressive part of the
detail is that it does not impede play.
Detail in the more traditional type of
war game frequently hinders under-
standing and lengthens the game con-
siderably, but Silent Service plays quite
easily after only a half-hour or so of
practice. Once you learn how to steer
the sub and fire torpedoes at a target,
you can try a mission. You can learn the
rest, such as diving and running silent
at the approach of a Japanese destroyer,
as the situation demands. At any time,
you can pause the game to allow you
time to think.
Like F-I5 Strike Eagle, Silent Service
is both intriguing and addicting. Also
like F-15, it is highly educational, but
there is nothing tedious about the les-
sons. The excellent manual describes
the submarine war in the Pacific, the
background to the scenarios, and the
tactics used by sub captains. By playing
the game, you'll quickly find that these
captains knew what they were doing.
Silent Service is a superior product.
Silent Service ,
MicroProse Software Inc.
120 iakefront Drive
Hunt Valley, MD 21030
S34.95-$3$.95 (depending on version)
DeluxePainf For Amiga
Lee Noel, Assistant Editor, Art & Design
Requirements: Amiga with at least 256K
RAM (512K recommended). Printer
optional.
Whenever a new computer appears on
the market, some of the most important
factors affecting its success are the qual-
ity and diversity of its software. In the
case of the long-awaited and innovative
Amiga, questions concerning software
support become even more important.
Is this computer the powerhouse it's
said to be, and can programs be written
to take full advantage of its capabilities?
Electronic Arts, a software publish-
er widely considered to be at the fore-
front of personal computing, said yes to
both questions and threw its consider-
able weight squarely behind the Amiga.
DeluxePaint, by Dan Silva, is one of the
first results. Not surprisingly — consid-
ering the Amiga's selling point as a
computer for those who want a "cre-
ative edge" — DeluxePaint is a visual
arts program of immense scope and
flexibility.
In fact, DeluxePaint is really three
different programs of immense scope
and flexibility. Due to differing memory
requirements, DeluxePaint includes a
separate program for each of the Ami-
ga's three major screen modes: 320 pix-
els across by 200 down with 32
simultaneous colors; 640 X 200 with 16
colors; and 640 X 400 with 16 colors.
The number of simultaneous colors in
each mode can be selected from a pal-
ette of 4,096 possible colors. You can
also customize DeluxePaint by restrict-
ing it to a smaller palette.
After booting up the program disk,
you must type in a command to call up
whatever incarnation of DeluxePaint
you want. This may sound confusing to
nontechnical artists hoping to use the
Amiga for their first experiments in
computer graphics, but loading the pro-
gram is fairly straightforward. First you
turn on the Amiga and insert the usual
Kickstart disk. When the prompt asking
for the Workbench disk appears, you
insert the DeluxePaint disk instead.
AmigaDOS comes up next with its 1>
prompt, and then you type the appro-
priate command. For instance, you'd
enter dpaint and press RETURN to
work in the 320 X 200 mode.
Best For 320 X 200
DeluxePaint works best by far in the 320
X 200 mode. In the 640 X 200 mode,
pixels are three times as high as they are
wide, and the program slows down
considerably, In 640 X 400, the slow-
down is drastic. So much memory is
consumed that there's not enough
room in a 512K machine for both the
entire program and a screen. Instead,
the program is broken into modules
that are constantly swapped in and out
from disk. (DeluxePaint works this way
in all modes on a 256K Amiga.)
Also, the 640 X 400 mode suffers
from a jittering screen display. The jit-
tering varies depending on the color
combinations, and high-contrast com-
binations are worse. This isn't Deluxe-
Paint's fault — the monitor simply
cannot refresh the 256,000 pixels in this
mode fast enough to display a stable
picture. (Other computers with similar
modes get around this problem by
using special monochrome monitors
driven at higher refresh rates.)
Since DeluxePaint's features are the
same in all modes, we'll describe what's
available in the 320 X 200 mode. This
is the most color-rich screen, and the
program's documentation and all of the
sample pictures on the disk are slanted
toward it.
52 COMPUTEI April 1 986
ALL NEW SOFTWARE LlNEUPl
kyan pascal (Version 2.0) $69.95
kyan pascal is the ideal system for learning Pascal and developing Pascal programs. It's a full implementation of ISO
Pascal and conforms to the standards set by the Federal Software Testing Center, kyan pascal features a menu-driven en-
vironment with multiple HELP screens; a full-screen text editor; and, optimized 6502 machine code compiler/assembler It
produces code that runs at the maximum speed possible on the 6502 microprocessor kyan pascal supports many exten-
sions including string handling, linking, chaining, random files, and included or inline assembly source code. It also supports
a line of powerful toolkits which make it possible for even novice programmers to develop sophisticated software, kyan pas-
cal (Version 2.0) requires only one disk drive. It is available for the Apple II (runs in ProDOS and requires 64K); Atari (runs
DOS 2.5 and requires 48K); and Commodore 64/128. kyan pascal is not copy protected and comes with a Pascal tutorial
and reference guide.
i
Programming Utility Toolkit S49.95
Programming is faster and easier with this extensive
library of utility programs and file management proce-
dures. The Toolkit includes source code for more than
20 utility programs.
Advanced Graphics Toolkit $43.93
Add stunning graphics to your Pascal or assembly lan-
guage programs. With the Toolkit's graphics primitives,
you can build a custom graphics library. Or, you can use
the Toolkit's library for 2 and 3 dimensional transforma-
tions, windows and clipping, shading, and more.
kyan Software offers you a 1S day money back guarantee. See for yourself . . . kyan is the best programming software.
Send Check/Money Order: kyan software, Dept. P • 1850 Union Street, #183 • San Francisco, CA 94123
Or Call: (415) 626-2080 • Visa/MC Accepted
Pfease include S450/ordQr for shipping/ handling; S12 outside North Amefica. CA residents add 65<Mi sates tax.
MouseText Toolkit (available for Apple II only) . . $49.95
Add Macintosh-like graphics to your Pascal programs.
The Toolkit includes routines for pull-down menus, win-
dows, and mouse-controlled cursor events (Toolkit re-
quires Apple lie or enhanced lie).
Macro Assembler/Linker $69.95
kyan's latest programming tool adds a new dimension
to assembly language programming. The Assem-
bler/Linker includes a text editor, 65C02 macro assem-
bler, object module linker, debugger, and librarian.
Tons Of Tools
Like virtually all Amiga software, De-
luxePaint is a mouse-driven, icon-based
program, similar in some ways to Mac-
Paint for the Macintosh. An array of
drawing tools is represented by icons
on the computer's display (the tools can
be hidden when the picture is finished).
Tools are selected by moving a pointer
to the appropriate icon with the mouse.
A click of the mouse button activates
the tool, which can then be used in the
drawing area.
DeluxePaiut has practically all of
the tools that have become standard in
graphics-design programs. You can
draw straight lines and a multiplicity of
outlined or filled shapes, paint with
different-sized brushes or an "air-
brush," print text on the screen, and
lots more. But DeluxePaint really shines
because it offers unique new tools and
novel extensions to the old standbys.
First and foremost, DeluxePaint
recognizes the importance of color to
the artist. The program has a special
palette window where any of the Ami-
ga's thousands of colors can be mixed
and used in design work. The palette
appears from the program's title bar as
a pull-down menu (the menu selections
have alternate keyboard commands as
well.)
This picture of a paint can and brush —
included on the DeluxePaint disk —
shows the fine shading possible with 32
simultaneous colors chosen from a pal-
ette of 4,096.
Within the palette is an almost be-
wildering number of options. For in-
stance, there are two ways to make
color adjustments. The first method has
three slide controls — manipulated with
the mouse — that alter the percentages
of red, green, and blue in any color
(these are the primary colors for a video
display). Another set of three sliders
allows changes to the hue, saturation,
and value of any selected color. The
latter system is much like the tint, color,
and contrast controls on a normal color
TV. As a result, novice users of Deluxe-
Paint may find this system reassuringly
familiar.
If that's not enough flexibility, the
artist can also move the palette window
to any convenient location, and the re-
location will be "remembered" for the
rest of the current session.
Flowing Colors
Colors are selected simply by pointing
and clicking with the mouse; selection
is verified by a highlighted box. Color
changes are instantly reflected in the
palette window and in the picture. As a
consequence, it's delightfully easy to
adjust colors relative to each other. The
program disk includes two good exam-
ples of the effects made possible by this
precise control over a diverse palette.
"KingTut" displays the hard, gleaming
gold coffin mask of the Egyptian boy-
king Tutankhamen. In contrast, "Ve-
nus" faithfully reproduces the soft,
almost pearly hues of Botticelli's "Birth
of Venus."
Some really amazing special ef-
fects are also built into DeluxePaint'^
palette, such as animated color cycling.
This allows the artist to establish three
sets of colors that will cycle through a
certain range. Each range can be narrow
or wide, can include harmonious or
clashing colors, and can overlap the
April 1986 COMPUni 53
COLOR MONITOR
SALE!!!
(Premium Quality)
• Built rn Speaker & Audio
• For Video Recorders
• For Small Business
Computers
• Apple ■ Commodore
•Atari - Aplus 3000 -etc.
• One Year Free
Immediate
Replacement Warranty'
>^0
RGB
Super High
Resolution
(Premium Qualify)
* Beautiful Color
Controst
• High Resolution
• Sharp Clear Text
* Anti-Glare Screen
* 40 Columns x 24 Lines
• Front Panel Controls
13" Color Computer Monitor'
Sale
*C64/Alari composite coble $9.95
* CI 28 RGB/Composite 80 column
cable $19.95,
13" RGB & COMPOSITE COLOR MONITOR
Allows use of C-128 and C64 mode - composite and 80 column RGB
mode. Must be used to get 80 columns in color with 80 column
computers. Specially designed for use with the C128's special composite
video output, plus green screen only option switch, (add S14.50
shipping)
List $329''°
Add $1 4.50 Shipping
List S399.00
Sale
259
95
12" MAGNAVOX (NAP) 80 COLUMN MONITOR
Super high resolution composite green screen monitor. 80 columns x
24 lines, easy to read, plus speoker for audio sound included. List $129.00
Fantosiic value. Limited Quantities.
Sale *79'5
Turn Your Monitor into a TV Set Without Moving Your Computer
Elegont TV Tuner with dual UHF/VHF selector switches goes between
Sale $49^5
your computer and monitor. Includes mute, automatic fine tuning
and computer-TV selector switches. Inputs included for 300 ohm, 75
ohm, and UHF. Can be used with coble TV and VCR's. Fantastic
Value. Limited Quantities.
list S129.95
15 Day Free Trial ~ 90 Day Immediafe Replacement Warranty
nowesTPRtCES * best service in u.s.a. 'Ohe day express mail 'OVER 500 programs » free catalogs
Add SIO.OO for shipping, handlrng and insurance. Illinois residents
pteose odd 6'A% tax. Add S20.00 for CANADA, PUERTO RICO.
HAWAII, ALASKA. APQ-FPO orders. Conodion orders must be in U.S.
dollars. WE DO NOT EXPOflT TO OTHER COUNTRIES. EXCEPT
CANADA. Enclose Coshier Check. Money Order or Personal Check.
Allow Id days for delivery. 2 to 7 days for phone orders. 1 doy express
mail ! Prices & Availability subject lo chonge without notice.
VISA — MASTERCARD — C. CD- No. C.O.D. foConado. APO-FPO
COMPUTER DIRECT
We Love Our Customers
22292 N, Pepper Rd., Barrington, III. 60010
312/382-5050 to order
240K Apple Compatible
® Computer System #
APIui 3000 computer system includes 192K RAM. 48K ROM
(32K Microsoft Basic plus UK ROM Emulator), 160K Laser
S%" Disk Drive (Runs Apple 11 Software), Magic Window
Wordprocessor, MaglCalc spreadsheet. Magic Memory
Datolaase. Ail for only $399.00
$
Campl&t& Syst&m
• 15 Day Free Trial^
^imy "Aplus 3000'*
fey^vii System
yCMEMORYi^J
399
00
CP'U CARTRIDGE
TORT
IPfllNTEH
INTERFACE
• DISK DRIVE
CONTROLLER INTERFACE
\ BCECT ■ POWER
'SOUND I \ • fCB • "MET s^^ff^cH
VOLUME \ \ OUTPLTT
• COMPOSITE VIDEO
CASSETTE
INTERFACE
Double Immediate Replacement Warranty
If any of the Aplus 3000 computer system
equipment fails due to foulty vi/orkmanship or
material withiin 180 days of purcfiase we will
REPLACE it immediotely witfi no service cfiorge! !
' Over 10,000 existing Apple^ programs • Centronics printer Interface Included
240K (192K RAM, 48K ROM) • ArtScl's Magic Window M, Mogic Memory, and MaglCalc Included
• UOKLaser 5%" Disic Drive (Runs Apple 11 software) • RGB (80 columns In color) ond composite Included
SPECIFICATIONS
A plut 3000 is Q complete, self-contained computer based on
the popular 6502A microprocessor and con top into the
tremendous software library of Apple II. Features include
192K Bytes RAM, 32KB Enhonced Microsoft BASIC, SO column
text, 560H X 192V color graphic display, 81 key sculptured
keyboard ond high efficiency switching power supply. Also
included as standard are Centronics bus printer interface,
Cossetle interface, 4 channel sound generator, ond SW"
Apple Compatible Disk Drive.
• TEXT
— 40 columns X 24 rows or 80 columns X 24 rows software
selectable.
— 5X 7 chorocfers in7 X8 matrix.
— Upper and lower cose chorocters.
— One ol Eight colors for characters/graphics and background,
Red, Green, Blue, Cyan, Mogento, Yellow, Block and White.
— Chorocter set with normal, inverse and flashing capabilities.
• GRAPHICS
— 280H X t92V 6 colors — Block, White, Violet, Green, Blue, Orange.
— 280H X 192V 8 colors bit image — Block, White, Red, Green, Blue, Cyan,
Magenta, Yellow.
— 560H X 192V 6 colors — Block, White, Violet, Green, Blue, Orange. (High
resolution color monitor required)
More Features than Apple^ for less than Commodore^
Features
RAM
Runs Apple II Software
Function Keys
4 Voice, 6 Octave Sound
Composite Video
Disk Drive
Numeric Keypad
Video Cable
RGB Color Cord
80 Column Cord
Centronics Printer Interface
Drive Controller
SI 50 Wordprocessor (Mogic Window)
SI SO Spreadsheet (MogiCalc)
S60 Dotobose prg, (Magic Memory)
Your Cost
Aplus 3000
1«2K
Tat
14
Y«|
Y«i
Includsd
Includftd
Included
Included
Included
Included
Included
Included
Included
Included
Apple lie
64K
Yes
None
Nto
Yes
Extra Cost
Extra Cost
Extro Cost
Extra Cost
Extra Cost
Extra Cost
Extra Cost
Extra Cost
Extro Cost
Extra Cost
$399.00 $1745.00
Commodore
C-128
12SK
No
16
Yes
Yes
Extra Cost
Included
Extra Cost
Included
Included
Extra Cost
Included
Extra Cost
Extra Cost
Extra Cost
$1117.90
Super Apple Compatible Disk Drive Sale $149.95.
Quieter, Cooler, Better Disk Drives for your Apple II plus, He, lie
(specify when ordering). List $299.85. Sale $149.95.
IS Day Free Trial — If It doesn't meet your expectotlons
within 15 day* of receipt, just send It back to us UPS
prepaid and we will refund your purchase prlcell
ACCESSORIES
LIST
SALE
2nd Disk Drive
$299,95
$149.95
2 professional analog joysticks
$ 39.95
S 24.95
Z-80 cart, allows CP/M use
$ 99.95
$ 59.95
RS232 odapter
$ 99.95
$ 59.95
R/F Modulator (TV hookup)
$ 29.95
$ 19.95
RGB coble (RGB Monitor hookup}
$ 24.95
$ 19.95
Centronics cable (for Centronics printer)
$ 34.95
$ 24.95
Technical reference manual
$ 29.95
$ 19.95
80 columns Hi-Res Green Monitor
$199.00
$ 79.95
80 column Hi-Res RGB Monitor
$399.00
$259.00
Add $25.00 for shipping and handlingi!
Enclose Cashiers Check. Money Order or Personol Check. Allow 14
days tor delivery, 2 to 7 days (or phone orders. 1 doy express moil !
We accept Visa and MosterCord, We ship C.O.D, 1o continental
U.S. addresses only. Add SlOmore if C.O.D.
AFPIE ond COAAMODORE an r*giir>rsd Mndemo^ks ol Appl» Compulpi Inc. or>d Commodore Bulinm Wachin«. tnc.. rMp#ctiv#,ly
COMPUTER DIRECT
We Love Our Customers
22292 N. Pepper Rd., Barrington, III. 60010
312/382-5050 to order
Famous Smith Corona National Brand
1 0" PRINTER SALE
Belovsi VS/HgIgsoiIg Cost Prices!!!
• ONE YEAR IMMEDIATE REPLACEMENT V\^ARRANTY
• Speed: 120 or 160 characters per second * Friction Feed/Tractor Feed — Standard
• 80 character print line at 10 CPi * 1 Line Buffer, 2K Buffer on 160 CPS Plus LQM
• Six pitches * Graphics capability • Centronics compatible parallel interface
• Features Bidirectional Print, Shortline Seek, Vertical And Horizontal Tabs
Check These
Features & Prices
120 CPS 10'' Printer
List
$429.00
f159
SALE
160 CPS + Letter Quality
Mode 10" Printer
emphasized
This is a. sample of our
near-letter-quality print,
There is standard data
process ing quality print
List
$499.00
$
italic print
SALE
(IBM — Commodore )
Stze/Wolght
Height 5.04" Width 16.7"
Depth 13.4" Weight 18.7 lbs.
Internol Char. Coding
ASCII Plus ISO
Print Buffer Size
120 CPS; 132 Bytes (T line)
120/160 CPS Plus LQM: 2K
No. of Char. In Char. S»t
96 ASCII Plus International
Grophlcs Capablitty
Standard 60, 72, 120 DPI
Horizontal 72 DPI Vertical
Pitch
10, 12, 16.7, 5. 6, 8.3, Proportional Spacing
Printing Method
Impoct Dot Matrix
SPECIFICATIONS
199
(Apple — Atari — Etc. )
char. Motrix SIza
9H X 9V (Standard) to lOH x 9V
(Emphasized & Elongate)
Printing Faoturei
Bi-directional, Short line seeking, Vertical
Tabs, Horizontal Tabs
Formi Typo
Fonfold, Cut Sheet, Roll (optional)
Max Paper Width
11"
Feeding Method
Friction Feed Std.; Tractor Feed Std.
Ribbon
Cassette — Fabric inked ribbon
Ribbon Life
4 million characters
Interfaces
Cart
Interfacei
Parallel 8 bit Centronics compatible
1 20/ 1 60 CPS Plus NLQ: RS232 Serial inc.
Character Mode
10x8 Emphasized; 9x8 Standard; 10x8
Elongated; 9x8 Super/Sub Script (I pass)
Character Set
96 ASCII
11x7 International Char.
Line Spacing
6/8/12/72/144 LPI
Character Spacing
lOcpi normal; 5 cpi elongated normol; 12cpi
compressed; 6 cpi elongated cornpressed;
16.7 cpi condensed: 8.3 cpi elongated
condensed; 5.12.5 cpi elongated proportional
rides Ribbon — List $19.95. Sale »13.95.
IBM $89.00
Apple $59.00
Atari $59.00
Commodore $39.95
Add SI4.50 for shipping^ hohdlir^g ond insurance. [lUnois residents
pleose odd 6',. "i tax. Add S29.00 for CANADA. PUERTO RICO. HAWAII.
ALASKA. APO-FPO orders. Canodian orders must be in U.S. dollors. WE
DO NOT EXPORT TO OTHER COUNTRIES. EXCEPT CANADA. Enclose
Coshiefs Check, Money Order or Personal Check, Allow 14 doys
delivery. 2 lo 7 days for phone orders. 1 doy express moil! Prices S
Availability subject to change without notice.
VISA — MASTERCARD — C.O.D. No CO.D. lo Conodo or APO-FPO
COMPUTER DIRECT
We Love Our Customers
22292 N. Pepper Rd., Borrington, III. 60010
312/382-5050 to ord
M 152K Lowest Price In The USA! i52k
ATARr Computer System Sale
• Students * Word Processing • Home • Business
$379
©Atari
@ Atari
©Atari
Atari
SYSTEAA PRICE
LOOK AT ALL YOU GET FOR ONLY
LIMITED OUAUTITieS
'\ 130XE 152K Computer
-i 1050 127K Disk Drive
'i 1027 Letter Quality 20 CPS Printer
-i Writer Plus Word Processer with Spell Checker
Atari BASIC Tutorial Manual
All connecting cables & T.V. inlerfoc© included. _^^ »
v.- Monitors sold seporetly. T^^TALS
LIST PRICE
$249.00
299.00
299.00
59.95
16.95
INDIVIDUAL
SALE PRICE
$134"
159»*
159"
49"
12"
$923.90 $517.75
SAVE
OVER $100
All 5 ONLY
37900
SYSTEM
SAL£ PRICE
$
CALL FOR 1027 PRINTER REPLACEINAENT OPTIONS
Other Accessories i-ist Sale
tV 12" HI Resolution Green Screen Monitor $199,00 $79.95
•h 13" Hi Resolution Color Monitor $399.00 $159.95
Add $9.95 tor
Connection Cobles
Add $10 for UPS
15 DAY FRE£ TRIAL. We give you )5 days to try out this ATARI COMPUTER SYSTEM! ! if it doesn't meet your expedations, just send it back to us prepaid
and we wil! refund your purchose price! ! *0 DAT IMMEDIATE REPLACEMENT WARRANTY. If any of the ATARI COMPUTER SYSTEM equipmeni or
programs foil due to faulty workmanship or materiol within 90doys of purchose we will reploce it IMMEDIATELY with no service charge! !
Best Prices * Over 1000 Programs and 500 Accessories Available * Best Service
* One Day Express Mail * Programming Knowledge * Technical Support
Add $25.00 for xhipping and handling!!
Enclose Cashiers Check. Money Order or Personal Check. Allow )i
days (or delivery. 2 to 7 days for phone orders. 1 day express moil !
We accept Viso ond MasterCard. We ship C.O.D. to continental
U.S. oddresses only. Add SIO more if C.O.D. , addS25 if Air Moil.
COMPUTER DIRECT
We Love Our Customers
22292 N. Pepper Rd., Borrington, III. 60010
312/382-5050 to order
ranges for the other two cycles. Once
activated, a cycle runs through all the
colors in its range in a smooth se-
quence. The speed of each cycle can be
individually controlled with the mouse
and a slider. Color cycling Is what
makes the disk's sample waterfall pic-
ture seem to flow. With thought and
care, you can create effects otherwise
impossible in two-dimensional art.
Closer to traditional art media are
tools which smear, shade, and blend.
Smearing enables an artist to use the
DeluxePaint brush to smudge colors al-
ready painted on the display. The effect
is similar to running a brush through
fresh oil paints. Shading and blending
work on a defined color range, like the
ranges for color cycling. Both operate
best on a range of closely related shades
and affect only the colors in the selected
range.
The action of shading is difficult to
explain in print, but blending does pret-
ty much what it describes — it produces
smooth gradations like those found in
watercolor washes or airbrushing.
There are also tools for exchanging col-
ors and an undo feature to recover from
mistakes.
Anything Is A Brush
All that's fine for the colors, but what of
the brushes that apply them? Once
again, DeluxePaint offers abundant op-
tions. There are, of course, some built-
in brushes. These are various useful
shapes, and they can all be adjusted in
size with one of the program's easy-to-
use tools. But, as might be expected,
other brush manipulations range into
some wild and unexplored regions.
The essence of DeluxePaint
brushes is this: Anything can be a
brush, so you can paint with a single
pixel, a pictorial element, a whole
screen, or anything in-between. And if
that's not enough, the artist can grab
the brush, resize it, rotate it to any
angle, flip it, or drag it into a completely
new shape. This last feature allows a
brush that looks flat to be made to
appear three-dimensional. To get an
idea of the effect, imagine a flag lying
flat on a table. Suddenly, it's bent into a
stiff billow and paints in an arc across
the sky — stars and stripes and colors
and all.
Brushes, like complete pictures,
can be saved to previously prepared
data disks. There are also some esoteric
possibilities involving the exchange of
transparent and solid colors within a
brush, plus a different way to "hold"
the current brush, and a way to speed
up response time to certain types of
brushes. Analogies are hard to come by
for these features, but they open up
fascinating possibilities not available to
Another sample picture on the Deluxe-
Paint disk is this reproduction of Botti-
celli's "Birth of Venus."
This photo demonstrates a zoom win-
dow, just one of the many features in
DeluxePaint.
artists working in traditional media.
The basis for all the brush transfor-
mations is the designer's ability to reach
out and capture any area of the screen
with a special brush selection tool. This
is much like the copy, cut, and paste
functions found in other graphics pro-
grams, and it can be used for those
purposes as well as brush design.
Room To Zoom
A full description of DeluxePaint's myr-
iad features would run on for many
pages (the manual is 31 pages long), but
highlights of some of the major ones
not covered so far bear mentioning.
DeluxePaint has a special magnifi-
cation tool that allows the artist to
zoom closer and closer to the area un-
der inspection, and then back away in
similar increments. Great mobility
within the magnify mode is provided
with the cursor keys.
There's fairly complete printer
support, plus the ability to add text to
designs and manipulate it in numerous
ways. A skewing feature even lets you
turn ordinary text into italics.
For precision design work, one op-
tion gives a constantly updated display
of the cursor's screen coordinates, an-
other provides a grid that can be modi-
fied, and still another allows unusual
mirror-like symmetry effects.
Virtually anything that anyone
ever wanted in a personal computer
graphics program is included in Deluxe-
Paint— and it's all easy to use and easy
to learn. It's fortunate that the program
is fairly intuitive because the documen-
tation is not. The basic tone of the
manual is that experimentation and
playfulness are the best methods for
coming to grips with the program. A
step-by-step approach might have been
more helpful. And, ironically, the man-
ual's graphics are almost nonexistent.
Another problem with the manual
is that it lacks completeness. Deluxe-
Paint cannot create data disks by itself,
so the artist must refer to Chapter 4 of
the Amiga User's Guide for the infor-
mation. Also, hardly any program com-
mands are summarized in DeluxePaint's
command summary.
On the other hand, in the few
places where you might get really
stuck, the documentation comes
through with some solid tutorials.
Bottom line: Will DeluxePaint and
an Amiga give you that creative edge?
That depends — in the end, it's still the
artist that has to pull the rabbit out of
the hat.
DeluxePaint
Electronic Arts
2755 Campus Drive
San Mateo, CA 94403
$79.95 (Introductory price)
$99.95 (Regular price)
S'More For
Commodore 64
Art Hunkins
Requirements: Commodore 64 or a Com-
modore 128 in 64 mode.
Commodore 64 owners who wish to
upgrade their computers have two
main options; Buy a Commodore 128 or
install a S'more cartridge from Cardco.
Each choice has its advantages. If mon-
ey is no object (and you aren't overly
attached to your 64), you might consid-
er the 128. But the choice isn't that
clear-cut. For those who write their
own BASIC programs, S'more has some
significant advantages of its own.
Frankly, it's difficult to know which to
compare S'more to — the 64 without
S'more, or the 128.
Of course, the 128 does have some
things going for it: twice the available
user memory (122,365 bytes) as the 64;
BASIC 7,0, with powerful commands
for graphics, sprites, sound, and win-
dowing; and a FAST mode for double-
speed operation. So if it's raw computer
58 COMPUTE) April 1986
power and extra memory you want, the
128 is hard to beat.
On the other hand, S'more BASIC
is more comprehensive than BASIC 7.0
in its utilities; it defaults to disk LOAD,
offers a greater variety of input options
as well as more flexible screen format-
ting, and includes varied reset options.
The built-in utilities are a real boon:
MERGE, AUTO, HEX, DEC, FIND,
CHANGE, reNUMBER, DUMP, and
OLD— all familiar to BASIC AID users.
The LIST command can scroll up and
down, not true of BASIC 7.0. On the
128, only AUTO, RENUMBER, and a
disk file APPEND are implemented.
Compared to the unenhanced 64,
S'more frees up 57 percent more user
memory — 61,183 bytes instead of
38,911 bytes. The memory is contigu-
ous and can be used in any way you
desire. (As we'll see, there are other
protected locations where machine lan-
guage routines up to 512 bytes long
may be stored.)
Improved Disk Commands
S'more BASIC and BASIC 7.0 come out
about even when it comes to disk com-
mands (a notable weakness with the
unexpanded 64); only the approach is
different. Whereas 7.0 gives a wealth of
specific commands, S'more uses only
one — DISK, an all-purpose "wedge"
followed by the traditional disk access
symbols. Both BASICs also offer nu-
merous enhancements of standard
commands (such as a RUN that LOADs
and RUNs a BASIC program from disk).
Both permit the SHIFT-RUN key com-
binadon to LOAD/RUN the first pro-
gram on disk.
Both BASICS offer about the same
range of programming structures (DO-
LOOP, WHILE-UNTIL, IF-THEN-
ELSE). Both implement error- trapping
and HELP, and both have programma-
ble function keys, though 7.0 sets aside
almost twice the buffer (246 bytes ver-
sus 128) for key definitions.
S'more is also handy in that its
LOAD and SAVE commands default to
disk (there is no DLOAD or DSAVE),
and that it includes a disk CATALOG/
directory option. In fact, due to the way
the disk default option works, you can
display the CATALOG, cursor to the
program you want, type LOAD (or
RUN), and hit RETURN— without wor-
rying about what is displayed after the
program name.
ML Limitations
For BASIC programs, S'more is superb.
But let's look at ML applications. Here
the picture is not so clear.
Although S'more has a MONITOR
command, it doesn't have a built-in
monitor; MONITOR just links you to a
monitor if you've loaded one into mem-
ory. S'more comes with a disk of soft-
ware that includes a version of
Micromon called Smon. (Other pro-
grams on the disk illustrate applications
of the more noteworthy S'more BASIC
extensions.)
Cardco's manual is thorough,
clear, instructive, and particularly
forthright when it describes S'more'a
limitations with memory addressing
and machine language. Here's the
catch: To make so much contiguous
BASIC memory available, Cardco had
to change a lot of memory locations and
reconfigure memory. Cardco did what
it could to maintain compatibility with
Commodore 64 BASIC (BASIC 2.0), but
there were limits on what was possible.
It's remarkable that low memory
with S'more is so highly compatible
with BASIC 2.0. Only two differences
will be noticed by the average program-
mer. First, and most importantly, the
cassette buffer has been moved. ML
programs designed to reside there will
have to be transported to the new loca-
tion. Also, some of the previously free
bytes (which you may have used for
flags or temporary data storage) are free
no longer (zero page 251-254 remain
available, however). There is a bonus,
though— a 512-byte RS-232 ii^put/-
output buffer, protected from BASIC,
which can be utilized for ML routines in
most cases.
The most critical low memory loca-
tions for the BASIC programmer, the
keyboard buffer and its corresponding
character counter, remain intact. As the
manual clearly states, however, ML
routines that access ROM are in for
major rewrites. The only ROM routines
that are safe to use are the Kemal rou-
tines when they are accessed through
the vectors in low memory (these vec-
tors are unchanged in location). You
cannot access ROM subroutines direct-
ly. This is a problem particularly with
the SID, VIC, and CIA chips— that is,
when working directly with screen,
sound, and input/output peripherals.
The S'more Solution
To get around these limitations, the
manual suggests that perhaps most ML
routines are best written in S'more
BASIC, then compiled with the (not-
yet-released) S'more BASIC Compiler.
This suggestion indicates the degree of
potential difficulty in converting most
ML programs for use with S'more.
But there's another alternative, too.
S'more establishes a set of CIA, VIC,
and SID reserved variables (DIMension-
ed arrays). Each variable corresponds to
a CIA, VIC, or SID chip location you
might wish to PEEK or POKE. To POKE
the location, just assign the variable the
desired value; presto, the POKE is
done. To PEEK the location, just use the
reserved variable in an expression. It
works fine and is simpler than actually
PEEKing and POKEing. For sound and
the SID chip, for example, it is not too
far from the convenience of using
BASIC 7.0's new sound commands
(PLAY, FILTER, ENVELOPE, etc.)
Of course, this technique works
only from BASIC, not machine lan-
guage. There are times when, for speed
and efficiency, ML is required. Al-
though conversion of ML routines ac-
cessing the support chips is possible, it
is apparently far from trivial. (The rnian-
ual does not attempt to explain; it only
hints that RAM/ROM bank-switching
is involved, and that the banking sys-
tem is similar to that of the Commodore
Plus/4.)
There is but one other limitation
I've noticed with S'more. When writing
or editing a BASIC program, the en-
hanced BASIC often responds slowly,
particularly with long programs. The
cursor can take 1.5 to 2.5 seconds to
reappear after you hit RETURN to enter
a new line; it takes longer toward the
beginning than at the end of a program.
On the other hand, garbage collection
purportedly is speeded up dramatically
over 2.0 BASIC.
And your Earls and Viscounts. If you've
got royal ancestors, we have the noble
software that can help you trace
them down.
Family Roots and your Apple, IBM,
Commodore, Kaypro* and many others,
offer individual and group sheets, charts,
name indices, general search and text
.^ capabilities. Adapts
Put up
your
dukes!
Family
Roots
to most disk drives,
printers, and screens.
You get more utility
programs, plus lots
of personal control.
A comprehensive
(new) manual
is included.
All for just $185.
Write or call today
for more infor-
mation and a
free brochure.
Quinsept, Inc.
P.O. Box 216
Lexington, MA 02173
(617) 641-2930
American Express,
Visa, ^d MasterCard
gladly accepted.
* Trademarks for Apple
Computer Inc., Intemalionat
Business Machines, CBM. Inc.
and Digital Research.
April 1986 OOMPUTEI 59
Works With 1 2a, Too
These are the only problems I've expe-
rienced working with the S'more car-
tridge. Overall, S'more maintains a high
degree of compatibility with BASIC 2.0
(and its associated memory configura-
tion), offers more than 50 percent addi-
tional memory accessible to BASIC,
and a greatly enhanced language. It
makes working with the screen and
sound a simpler task for BASIC
programmers.
In short, S'more is a cost-effective
alternative to a Commodore 128 up-
grade. {Cardco's literature describing
S'more as a "bridge to the 128" is on
target.) And even if you do decide later
to acquire a 128, S'more works identical-
ly on the 128 in 64 mode.
S'more
Cttrdco, Inc.
300 S. Topeka
Wichita, KS 67202
S69.95
Heart Of Africa
Neil Randall
Recjuirements: Commodore 64 or 128 in 64
mode; Apple ll-series computer with at
least 64K RAM: or an Atari 400/800/
XL/XE with at least 48K RAM. Disk only.
One of the truths in the entertainment
industry is that anything popular will
spawn many imitators. The field of
computer games is certainly no excep-
tion. The first hits were Space Invaders,
then Pac-Man, and then Donkey Kong.
Each of these games begat a host of
imitations, few of which approached
the quality of the original. Imitations
are rarely as good as the things they
imitate.
Still, for every imitator trying to
capitalize on the popularity of someone
else's game, there's a designer trying to
improve upon his own original design.
This is not imitation — at least not what
we normally think of as imitation. In-
stead, the designer is making an honest
effort to improve on a game concept.
Much like an artist, who chooses a me-
dium and produces work after work
trying to perfect his use of that medium,
the game designer invents a system,
then produces game after game to de-
velop the system to its fullest. As long
as the system keeps improving, the en-
terprise is justified.
Such is the case with Ozark Soft-
scape's Heart of Africa, published by
Electronic Arts. Heart of Africa is an
extension of the system pioneered in
Ozark's own Seven Cities of Gold (re-
viewed in the September 1984 issue of
COMPUTE!). Far from an imitation, it im-
proves on the original game and offers
a fresh approach to a system that many
people considered near-perfect already.
Both games deal with exploration, but
Heart of Africa gives us something
more: a quest.
In Search Of A Tomb
Your quest in Heart of Africa is to find
the lost tomb of Ankh Ankh, some-
where in the middle of the Dark Conti-
nent. You travel alone, buying supplies
and tools wherever you can. As you
cross the continent, you make discover-
ies and try to obtain clues about the lost
tomb from tribal chiefs. It's not hard to
get information, but it's very hard to get
useful information, and just as hard to
stay alive. The perils are constant, from
dying of thirst in the Sahara Desert to
suffering a fata! bite by a poisonous
snake.
Like Seven Cities of Gold, Heart of
Africa is entirely joystick-driven. You
can put your feet up, lean back in your
easy chair, and play the game without
touching the keyboard. For further
playability, the game offers a diary that
continually updates itself. The diary is a
graphically attractive series of pages
that records special events. On the sur-
face, it seems only a nice addition to the
game, but in play it greatly eases
record-keeping. Any exploration game,
be it a text or graphics adventure, de-
mands some keeping of records: map-
making, recording conversations,
jotting down clues. But Heart of Africa
takes most of these out of your hands.
The map is produced for you on the
screen, and your observations, even
conversations, are recorded in the dia-
ry. You can read the diary at any point
simply by loading it from disk. It makes
the game extremely playable, especially
for those who loathe keeping records,
The Heart of Africa game screen
shows a solitary figure marching across
the map. As you walk, the map scrolls
north, south, east, or west, shedding
light on more and more of the Dark
Continent. The map is constantly up-
dated, and you can check it at any point
during the game to see what you've
already discovered. As you travel, you
discover villages, mountain ranges, riv-
ers, lakes, and, of course, if you work
hard enough, the source of the Nile.
Random events are sometimes
positive, such as finding valuable
caches left behind by previous explor-
ers, as well as negative, such as encoun-
ters with crocodiles, poisonous snakes,
or rhinoceri. If you're equipped with
the right weapons, you can normally
stave off an attack, but you may be-
come ill, fatigued, or very thirsty. You
can paddle a canoe along the rivers and
lakes, and you can even go over water-
falls. The entire continent is yours to
discover.
Tribal Relations
Perhaps the most impressive part of the
game is the interaction with the tribes.
As in Seven Cities of Gold, where coop-
erating with the natives established
your reputation, working with the
tribes in Heart of Africa is difficult. Each
tribe is different and each chief reacts
differently to you. For some tribes, a
few gifts will yield helpful information.
For others, all the gold in the world
seems insufficient. You can steal sup-
plies by wielding your gun, but your
reputafion will suffer. Or worse, you
may catch a blow dart. The only way
you can know how a tribe will react is
to visit each village. If you do well and
reward the chief, he'll tell you what else
you might bring for more information.
If you do poorly, you'll be drummed
out of the village.
The Heart of Africa manual consists
primarily of the notes written by your
predecessor, the person sending you on
this mission. It describes each of the
areas of Africa and the tribes therein.
An impressive document for its sheer
information, it is also vital for gaining
clues about where you should go. It
gives, for instance, translations of the
tribal names for geographical points. To
the natives, after all, Victoria Falls is not
Victoria Falls.
There is nothing easy about the
game, but the difficulty comes from the
situation, not in trying to learn the sys-
tem. It is extremely easy to get across
Africa, buying things, finding things,
and giving things away, but it is very
hard to gain useful information. Still,
this is the game's strength. A poor game
is difficult to learn and offers few re-
wards. A good game is easy to learn
and offers endless rewards. Heart of
Africa, in this sense, is a very good
game.
Like Seven Cities of Gold, Heart of
Africa is professional in every way. An
excellent program, filled with surprises,
the game is even more addicting than
its predecessor. In Seven Cities of Gold,
your rewards were the excitement of
discovery and the favors of your mon-
arch. Heart of Africa duplicates the ex-
citement of discovery, but adds a
desperate search for a lost tomb. This
quest makes Heart of Africa an adven-
ture as well as a simulation.
Only One World To Explore
One of the superb features of Seven
Cities of Gold was its ability to create
new worlds to explore. Players could
never exhaust the game because the
60 COMPUTEI April 1986
ATARI
130XE
ATARI 130Xe Super
Computtr PKlug*
130XECompu1or
lOSODisk Drive
1027 Printer
Atsriwriler ^
Call lor Individual i
■up«r packagft prica
ATARI PRINTER
INTERFACES
Uprint A 5*. 95
Uprint AW/1 BK... 79.95
Uprint AW/64K . . .99.95
MPP 1150 59.95
INDUS QT
DISK DRIVE... Call
ATARMSOXItUPCR
PRIKTER PKOS.
SG-10 Primer
and U-Print A ... 275
Panasonic 1091
and U-PrinI A . . . 309
Super Priniar Packages
have no extra shipping
charges or credit card
surcharges when strip-
ped irr Continentgt USA
ATARI 130XE
SOFTWARE
BROOEReUND
Prim Shop 2895
Karaleka 20.95
Prim snop
Graph. I. II. or III... 19,95
Prin Shop Comp 2795
INFOCOM
See Commodore 64 sec-
!inn for Hems and pncas
ELECTRONIC ARTS
Arthnnll 2195
Archon 16-95
Seven Cilol Gold ... 2195
SkyfoK 2'! 95
Pirball Const t695
One on One 21,95
MICROPHOSE
Sileni Service 2395
Gunstiip 23 95
Actrniel 23.95
F-15 Strike Eagle , , . , 23 95
Kennedy Approach . . 23.95
OSS
Basic XE-Cart 52.95
MAC 65 XL-Cart 49.95
Aclion-Carl 49.95
Basic XL-Cart 39.95
All Tool Kits 20.95
BATTERIES INCLUDED
Home Pak 34.95
Paperclip 39.95
B-Graph 34.95
SYNAPSE
Syncalc 32,95
Syn(ite 32,95
SynSrend 25,95
Syncalc Templales... 16,95
Loderonner Rescue . . 20,95
Mindwheel 27,95
Essex 27,96
Brimslone 27,95
SSI
See Commodore 64 sec-
tion for items and prices
MISCELLANEOUS ISflXE
Hacker 19.95
Amer, Cross City. ... 19.95
Flight Simulator B ... 34.95
Ultima II 37.95
Ultima III 37.95
Universe 69.95
Letter Perlect 39.95
Data Perlecl 39.
I Halley Project 27.95
lUltimal 23.95
UllimalV 41.95
MMG Basic Comp. .. . 69,96
ATARI
520ST*
Atari 520ST-
RGB Sy>iem...Call
Atari 520ST-Mono-
clirome Syi. . .Call
SF314DS/DD
1 Magabyte OitK
Drive Call
We warranty all
520S T computers
purchased Irom
ComputAamty lor
rtirjBly days.
'Please call lor
stock availability
on Atari ST
producta betore
ordering by mall.
MISCELLANEOUS ST
VIPProlessional.... 12995
Ultima II 3995
Perry Mason 34 95
Degas 2795
Farenheil451 3496
Amazon 34.95
Hacker 29.95
The Final Word 94.95
DejaVu 3995
PC/lnlercom 8995
Hen 27 95
Crimson Ceowo 27 95
Mudpies 2395
Kino's Quest II 34.95
Galo 34 95
Borrowed Time 34,95
Personal Prolog 7995
Personal Pascal 64 95
Zoomracks 59.95
Mi-Term 54,95
Regent Word 3495
Sundog 2795
Regent Spell 34 95
Winnie/Pooh 1995
Isgur Portfolio Call
Michlron Utilities.... 4195
Music Studio Call
Silent Service Call
INFOCOM ST
Deadline 34 95
Starcross 34 95
Zoikl. Ilorlll 29.95
Witness 27 95
Suspended 34.95
Planetlall 27.95
Sorcerer 29 95
Seastalker 27.95
Cutttiroals 27,95
Hilchiker 2795
Suspect 29.95
WisnOrlnger 27.95
Inlidel 29.95
Enchanler 27.95
Spellbreaker 34,95
Mind Forever Voy 34,95
AMIGA
Call tor Mardwftn and
Mkt^n ptrlphflrslft prlcei
AMIGA SOFTWARE
Hacker 29.95
Mindshadow 29.95
Arcnon 27.95
VIP Prolessional .... 139.95
Maiicom 39 95
Maxidesk 49.95
Maxiplan 119.95
One on One 29.95
7 Cities* Gold 29,95
Skyfox 29.95
Marble Madness .... 29.95
Relurn/Atlatitis 29.95
Archon 29,96
Deluxe Paint 59,95
Borrowed Time 29,95
Inlocom Call
Fin, Cookbook 34,95
APPLE
P.O. Box 17882, Milwaukee. Wl 53217
ORDER LINES OP)n
Mon-Fri 11 a.m. ■ 7 p.m. CST • Sat. IZ p.ra, ■ 5 p.in. CST
PRACTICAL PERIPHERALS
We carry the complete line of products
Call lor Current PrIcet
APPLE PRINTER
INTERFACES AND BOARDS
Apricorn Parallel w/GraphiCs 69.95
Apricorn 16K Expansion Board . . . 62.95
Apricorn 80 Column BoartJ 64.95
Apricorn RS232 Interface 69.95
U-Print-Apple IIC W/64K 109.95
U-Print-Apple IIC w/IBK 89.95
APPLE SOFTWARE
BHQCERBUND
PrinlStiop 3395
Print snop Graphics
I, 11. or III 17,95
Print Shop Comp 27 95
Kasateka 2195
Carmen Sandiego — 2595
Science Tool Kit 3995
Bank Streel Writer ,.,44 96
Fantiirision 27 96
ELECTRONIC ARTS
Adventure Const 34,95
Archon II 27,95
Bards Tale 2995
ii^sgic Football 2495
Auto-Duel 3495
Skylon 2795
Lords ol Conquest ,..2795
One on One 2795
Ultima III 3995
Ultima IV 3995
MoeSius 3995
Epyx
Ballblazer 24 S5
Winter Games 24 95
Summer Games II 24 95
World's Great/
footoall 24 95
Eidolon 24 95
Apshai Trilogy 2495
(toronis Rilt 24.95
INFQCOM
See Alan S20S T section tar
item$ 0nsj pnces-
MICROPHOSE
SeeAian rSOXEsecIiOnlOr
Items and prices.
MINDSCAPE
Color Me 20 95
Crossword Magic — 34 95
Halley Project 29.95
A View To Kill 27.95
flatter 29.95
The Mist 27,95
Perlect Score 4995
Voodoo Island 27.96
Rambo 27.96
American Challenge , . Call
Goldlinger Call
SIMON & SCHUSTER
Typing Tulorlll 3495
KobiashiAdv 2995
WeOsierSpellChk . ..3995
WePsler Thesaurus... 84 K
Lovejoy SAT 4995
SIR-TECN
Wiiardry/Oiam 2395
Waardry/legacy 27 95
Wizardry/ Proving ...33 95
Wizardry/ l/Vernda ,,,2995
Wiziprinl 1995
SSI
See Commodore B4sec-
(ron for items 4 prices.
APPLE MISCELLANEOUS
Beachead 23 95
Beacheadll 2395
Gamemaker 27 95
Hacker 27 95
Hardball 24 95
Sundog 2795
Star League Base, ...23.95
MIcroleague Base. . . .29,95
PFS Sotiware Call
Newsroom
..3995
Clip Art Vol. 1 . . . .
..2095
Galo
..2795
Supertiase
-.6995
Comp. Gardening .
-.3995
Kings Quest II —
,.34 95
Dambuslers
. .27,96
Alternate Reality .
. .27,96
Prince
..47 95
Movie Maker
..39 95
Zoiro
..27 95
Goonies
. ,27.96
Commando
. ,2695
Kung Fu Master . .
..26.95
Karate Champ . . .
. .2595
Hulk
..24.95
..24.95
Stnp Poker
..23.95
Pixil
..34 95
Blazzing Paddles .
..34,95
Beagle Bros,
... Call
Math Blaster
. . .34.95
Fight NigM
...2795
We stock hundreds of
programs for the Apple,
Atari, C-64 and IBM.
If you don't see it listed here,
i^on't hesitate to call.
NO SURCHARGE
FOR
-e
To Order Call Toll Free
800-558-0003
MASTERCARD
AND VISA
EST. 1982
onipai(fibLLLtifl
COMMODORE COMMODORE
128
C- 128 Computer
1571 Disk Drive
1902 Monitor . .
1670 Modem , ,
Call
Call
Call
Call
IBM PC
IBM PC SYSTEMS
Conligured to your
specific needs
Call for lowed price on
IBM-PC, IBM-XT
or IBM-AT
Corona PC-400
Compatible . . Call
Corona Portable PC
Compatible . . Call
PC Multifunction
Boards
We carry the
complete line of
AST, Hercules,
Paradise, STB,
and Quadram
Call for current
prices
IBM PC SOFTWARE
PrinlStiop 39,95
Prini Shop Graph, I . . 27,95
Bank Street Writer... 49.95
Ancient Arl of War . . Z9,K
BORLAND
Sidekick 3795
Tprho Pasi;a! 4995
BLUE CHIP
Baron 3496
Squire 34,95
Millionaire 34.95
Tycoon 34 95
DIGITAL RESEARCH
C3il ior items and pricas.
(NFOCOM
See A fart 520ST for Herns
and prices
LEADING EDGE
Nuishell 6995
LE/WP Basic 67,95
LE/Word Proc
-Spsller 169.95
MICROPilOSE
F- 15 Strike Eagle ... 2395
Kennedy Approach . . 27 95
Acroiei 2795
Silent Service 2795
MICROSOFT
Right Simulator 38,95
Word 249.00
Multiplan 134.95
MINDSCAPE
See Apple SQCtion tor
Items and prices.
SIERRA
Kings Quest 34.95
Kings Quest II 34,95
Ultima II 39.95
TNOUSHTWARE
Cgfl for items and prices.
IBM MISCELLANEOUS
PFS Call
Gato 27.95
Wizardry 39.95
Strip Poker 27.95
Electric Desk 204.95
D-Baselll Call
SiiJeways 39.95
Home Pak 34.95
Sargonlll 34 »
Peachlree Call
Jet 34.95
8P1 Business Call
Newsroom 39 95
128 SOFTWARE
Multiplan 64/ 128. 44 95
Consultant 52.95
Papar Clip 'Spell 64 95
Liwiftcalc ....
Wordwriter . . .
Data Manager
Fleet System II
Superbase 128
Mach V/128 , .
4995
49 95
4995
44 95
6995
34 95
COMMODORE
64
c-64 Computer . . Call
1541 Disk Drive.. Call
1660 Modem , ,, 49.95
1670 Modem 169
C.64 SUPER
PRINTER PKGS.
SG-10 SXetec
Supergraph...
Panasonic 1091
& Xetec
Supergraph. . .
Legend 1080
& Xetec
Supergraph., .
Super Printer Packages
have no arided shipping
or charge card
surcharges when
shipped in
Continentat USA
279
31 S
269
GENERAL
HARDWARE
AREg^
^^r
SG-10 308
SG-1S 369
SD-10 339
SO-1S 449
SR-10 489
SR-15 Call
PRINTERS
Panasonic 1091 245
Legend 806 169
Legend 1090 209
Powerlypt 309
Juki 5510 389
Epson Call
Panasonic 1(80 215
PRINTER BUFFERS
Microfazei From 169
U-Bu(l I6K 7995
U-Bud 64K 99 95
.469
B.I. 80 Column
Card . . . 59.95
While Suppllet Last
Cardco
G-Wte
.54.95
MODEMS
us Robotics 2400..
Volksmodem J2tXI .
Promelheus 12O0 319
Password 1200 209
Novation Call
PC Modems Call
MONITORS
Commodore 1902 Call
Commodore 1802 169
SakataSC-lOO 169
Samsung ir Green . 79.95
Samsung 12" Amb. .. 79 95
Tanan . , , , Call
Amdek Call
COMMODORE 64 SOFTWARE
ELECTRONIC ARTS
Adv Conslruction . . ,29.»
Mall Order Monster ..24.95
Racing Destruclian . . .24.95
Ultima III 37 95
Ultima IV 4195
Bard s Tale 2?.*
SeoAlan iSOXE section lor
rest or items i prices,
EPYX
Eidolon 24 95
KoronisRill 24,95
Winter Games 24 95
Apshai Trilogy 24,95
Fast Load-Carl 24 95
Program/ Tool Ki I ....2996
MICROPROSE
See Atan i:^XB section
lor items and prices.
MISCELLANEOUS
COMMODORE 64
Print Shop 26.95
Cal-Kit 34.95
Superbase 64 47.95
Karaleka 20,95
Hacker 20.95
Gamemaker 27.95
Ultima II 37.95
Karate Champ 25.95
Essex 27.95
Kung Fu/
Kung Fu Master 25,95
9Prince3olAmber ...22,K
Spy vs. Spy Vol, II ...23.95
MaxiGolf 24.95
Inlernall Hockey .... 1995
The Fourth Proto 23.95
Blazing Paddles 24.95
Mirage Word 34.95
Mirage Database 34.95
Welcome Aboaril 1996
Super Huey 14.95
Speint 34.95
Maih Blaster 34,
Word Attack 34,
Odesta Chess 49,95
Brimstone 27.95
ACCESS
Beach-Head 21,95
3eacti-Head II 24 95
Raid/ Moscow 24 95
MachV-Carl 21,95
INFOCOM
Zorkl 24.95
Zorkll.orlll 27.95
Oeaddne.. 29.95
Starcross 29.95
Witness 29.95
PlaneWall 24.95
Hitchiker 24.95
Enchanter 24.95
Cutthroats 24.95
Sorcerer 29.95
Spellbreaker 29.95
SSI
Baltallion
Commander 24.95
Battle of
Aniielnam 32.95
Fighter Command
(No Ataril 37.95
Norway 85
tNo Atari) .; 21-95
Panzer Grenidier 2495
USAAF 3795
Breakthrough/
Ardennes 37,95
Kampgruppe ...37,95
Phantasle
(NoAlaril 24,95
Broadsides 24.95
Carrier Force 37,95
Comp. Ambush 37,95
Mech Brigade
(No Atari) 37.95
Field of Fire
(No Apple) 24,95
Op, Mkt, Garden 32,95
Pro Tour Goll
(No Atari) 24,»
Gemslone Warrior ...21.95
Imp. (jalaclum 24,95
Computer Baseball . . .2495
Comp. Ouanerback, , ,24,95
95.^
For Technical Into., Order Inquiries, or for Wise. Orders
414-351 -2007
ORDERING INFORMATION: Please ipatlly lyiUm. For last delivery send cashier s check or money order Personal and company checks allow 14 business days to clear. School P.O.'s welcome, C.O.D. chirgn in
W,IXI. In Continental LI S-A- include S3.00 for software orders. 4'.i shipping lor hardware, minimum S4,00, Master Card and Visa orders please include card ir. expiration date and signature. Wl residents please iriclude 5%
salestair.HI.AK.FPO.APO. Puerto Rico and Canadian orders, please add 5%shipping.mliilntumtS.0a. All other lorilgBoriterii<ldlG':'>ihlpplng.inlnlniuigttO.O0. AM orders shipped culside the Cpntinenlal U.S.A. are shipped
first class insured US, mail. It foreign shipping charges exceed the minimum amount, you will be charged the additional amount to gel your package to you quickly and safely. All goods are new and include factory
warranty, Duetoourlowpricesallsalesare final. All difective raturnt miiil hiva • riliirn lulliDrliitlon numbar. Please call (414) 351 -2007 loobtainanl^A.I'oryDurrelurnwilinotbeaccepted-PricesandavaJlabiliiysubjecIlD
change without notice.
Sl/uco ^
^AVE = PRINTERS
$228 CARDCO
32K BUFFER (C-54) 59
CORONA
INDUS
Indus GT Atari
GT Commodore . , .
195
209
MSD
SDT Drive fC-D^]
■50! Dr.vB [c-6aj
239
469
TANDON
■320K lit v.- Dnve , .
-115
TYMAC
•fSStmii: ApptDnwSSOK
.289
LP300 Laser Primer.
200361 Toner Cartriei
EPSON
LX8C 209
FXe5 .333
JX80 Call
Homev(ri!er 10 193
DX10 207
DX20 297
DX35 597
AP-BO 244
Hl-eO 355
HS-aO 299
FX-286(MEW) . 489
L0-8(re;NEVVi . .529
LQ-100{itNEW) . ■ 659
CITIZEN
MSP-IO 255
MSP-15 355
MSP-20 337
MSP-25 495
OKIDATA
Skimaie 10 "ni
kimate 20 CALL
le; 214
192 xa
193 563
84P 645
BROTHER
HR-15XL-P 359
HR-15XL-3 359
HR-35P 839
HR-35S 839
2024L-P 949
M1009-P 1£2.
JUKI
Juki 6100 344
RS232 Serial Board S5
6100 T'aCIOr 119
610O Srieel Feeder 209
Juki 6300 757
LEGEND
aao 138
lOaO Call
1380 258
1 38S 289
808 148
DIGITAL DEVICES
ISK BUFFER 75
32K BUFFER 89
64K BUFFER 123
DIABLO
D25 549
C30 API 1599
53CECS 1759
D 80 1 c 2395
P3PCQI 699
P3l 1749
C. V-n 939
DX-35INEWI CALL
Ar^-qfl CALL
SG-10 S205
PANASONIC
109 228
3t3l (NEW) 264
1092 325
3151 409
1 ABC (NEW). . 209
1592 (NEWi 439
SILVER REED
EXP-;0O .249
exPbOO 295
EXPE30
E;;P770 . , 749
STAR MICRONICS
SG-10 .205
SG-IOC 219
Se-15 367
SD-10 319
SO-15 438
SR-lO 469
SH-15 578
SB-10 . 589
Powertype ..... .297j
DUST COVERS
Atari
520ST 11.95
130XH 8.99
800XL 699
1060 6.99
1025 7.99
Commodore
C120 799
157»1541 6.99
1902 10,95
1702 899
Cei.Vn.l" 699
Panasonic
1090/10S1 _ 8.99
1092 8.99
1063 ...9.99
Star MicroniCS
SG.'SO'0 6.99
SGSDia 9.99
SRIO 999
SHIS S.99
Okldaia
82(92 899
83fl3 9.99
193 9.99
DRIVES
PRINTER
INTERFACING
AXIOM
AfeiS lAia'i) . 65
Parr.lla* |C-S4! ^ 65
MICROBITS
MPP-1150 lAiar:, . .54
MPP-1150XL (Alan) .59
MicfoPr.nt lAlari) 39
64K RAM Board (600x1]. ...65
DIGITAL DEVICES
I ApeFace XLP (Atari) 49
ApeFace 12XLP (i200xli . 49
' U-Prin1 A (Atari) 54
U-Prinl C (C-64> 49
U-Print A16K Buller 74
U-Prini A54K Bufler . 99
U-Print AP16K (Apple) . 99
U-Print APS4K Apple 139
U-CALL RS232 (Aftri) ..,.37
MICROTEK
Dumpling GX (Apple) . 59
Dumpl'nq 16K (Apple) . 89
RV-eilC (Applel. . .49
TYMAC
Conneclion (C-64) 55
Tackier (Apple) 49
PPC-tCiO (Apple) 39
ORANGE MICRO
3RAPPLER+ (Applsl 85
Grappler 16K (Apore! ... 149
ORANGE (Apple) 59
Grappler CD iC-^J] 79
CARDCO
G-Wiz (C-64) ...54
C/y-G(C-64) 45
C/?PS (C-64)' 49
Of? B (C-64) 39
C/7AT (Alar!) 49
CPAP (Apple) 49
DISKETTES
DENNISON
ELEPHANT 5 A" SSSD 1199
ELEPHANT 5'-i' SSOU 12 99
ELEPHANT SVx- DSDD...14.'j9
PREMIUM 5"f- SSDD f399
PREMIUM 5". ■ OSOO . 15.99
SUNKYONQ
SKC 5V." SSDD 11.99
SKC 5Vj- DSDD 13.99
MAXELL
S'A" MDt 13.99
SVi
5'.i
VERBATIM
SSDD
DSDD
1399
. 1999
S'A'
BONUS
SSDD
DSDD
.. e.99
.12.99
NO LABEL DISKETTES
NL SVi" SSDD... 1C.99 (Box 10)
NL 5V4" DSDD.. ,15.99 (Box 10)
•Frao Diskette Writer Pen!
'Free Storage Casel
IBM-PC
SOFT-WARE
'LOTUS
Lotus 1-2-3 309 00
Symphony 439.00
„ "QUADRAM
Quad Jr. Exp. Chassis. ...519:00
Quad j'r. Exp. Memory.. ..209.00
Quad Memory Jr 209.00
ITT XTRA XP Perxmal Computer!
■256K. 2 Drive System CALL
■?56K 10 Msg Hard Syslem Call
IBW-PC
COM RATABLE
•LEADING EDGE
Nutshell 69.95
LEWP BaiiC :. 65.00
LEWP Merge Print... 99.00
LE Spell Cor-ectiof) 1B9.0Q
SSI (IBM)
Battle rf>r Mortr.afi.iv ...34.95
Knighrs u[ Oese't 24.95
Tgers in Enjvv £4 95
Computsi-gabeDal!.. .54 95
Eprienlc 22.95
VVarO Factor ...24,95
Careis & Cullhroals 2J 95
SYNAPSE (IBM)
S/nsiock 6^,95
Essex., ,.,-.,..,..... ..,2895
Wizard of WaU Si 28.95
Brimstone __ 28.95
SUB LOGIC (IBM)
Je! Simulalor 34 95
BRODERBUND (IBM)
Bank S! Wni^r 48 95
The Prin[ Shop 34.95
Graptiics Library 1 22.95
LodE Rgni'sr..., 22,95
Ancien: ah ot Waf 27.95
Champ Lode Runner. .25 95
MICROPROSE (IBM)
F.iBSirihe Eagle 20.7=
Soto Rigtit 20.75
Helical Ace 20.75
Spitfire Ace 18.75
AT&T
Safari 7300 CALL
6300 CALL
I
TOLL FREE 1-800-233-8760
TO ORDER
CALLTOLL FREE 1 -800-233-8760
In PA 71 7-494-1 030
Customer SeiviceTI 7-494-1 670
or send order to
Lyco Computer
P.O. Box S088
Jersey Shore. PA
^^— 1 7740
RISK FREE POLICY
Insiock iiems sfltptwiJ wilhin 24 hours of order No deposit on C O.D orders, Frrt
shrpp^ng on ptepDid cash otflers within the cortlmenial U S. Volume discounia
awaiiablo PA residents add sales lax. APO FPO. and international orcJerg add
55 00 plLT^ 3»b for priority mail service Advaitisflfl pncas show -mti discount for
cash, add 4=^ti foi MaswCatd or Visa Pergonal checks require 4 woeks' ctearance
balore shipping Ask abpul UPS Blue and Rbo tat»l shipping All merchandise
carried i/ndei manulaciurera warramy. Fiee calalog wiA order All items subject
in rninnn wihrnhnfmri^^— ■^■^^^^■^^^^
S£^^^^^^m^i€(£e^
JK ATARI JK lappkZlcOMMODORE
ATARI
aOOXL CALL
130XE (NEW) CALL
520ST (NEW) - CALL
1050 Drive 165
1010 Recorder 42
1020 Printer iS
1025 Prrnler IfS
1027 Printer 1"9
850 Interface.. iLiS
ATARI
VIP Professional 74.60
ST Carppanion 15.95
ATARI SOFTWARE (NEW)
Codewriier 35.75
Filewfiler 20 75
Reporlwriler 20 75
Menuwnler 20 75
Home Integrator 19.75
Small Bus. Inventory ., .11.75
Salesman Expenses 11.75
Aces Rec'Pay n .75
Retail Invoice 11.75
Final Legacv 16.75
Adventure Writer 18.75
BRODERBUND (Atari)
The Print Sfiop 28.95
Grapnics Library )8.95
GrapiliCS Library II 1950
Bank Si Writer 42.75
Wfiistler's Brother 18.95
Sp^k'Hlier 18.95
srH=ilth 18.95
INFOCOM (520ST)
Wishbnnger 28.95
Zorkl 28.95
Zorkll 31.95
ZorKIII 31.95
Deadline 33.95
SlarcroES 33.95
Suspect 31.95
Suspended 33.95
Cuntiroats 28.95
Sea Stalker 28.95
Infidel 31.95
Sorcerer 31.95
Enchanter 28.95
Witness 28.95
PlanetfaJi.,- 28.95
SpeliBreaksr 33-95
SPINNAKER
Delia Drawing Room 19.95
Cosmic Lite Room 19.95
Up for Grabs F^oom 19.95
PERSONAL PERIPHERALS
Super Skelch C-64 29.95
Printer Utility C-64 K.99
Super Skelch Atari ..,,.25.95
Super Sketch Apple/lbm 55.00
MICROPROSE (Atari)
Kennedy Approach .21 75
Crusade in Europe 24.75
Decision in Desert 24.75
Sob Flight 20.75
Naio Commander 20.75
Spillire Ace 18.75
F-15 Strike Eagle 20.75
Hellcat Ace 18.75
Acroiel 21.75
Silent Service 21.75
Gunship 21.75
SUB LOGIC (Atari)
FUght Simulnior 11... .32.75
.\lignt Mission Pinball 20.75
GLENTOP
ST Logo Book )5,95
li/!ARK of UNICORN (S20ST)
HEX. 29 95
t^lNCE 129 95
PCdnrerComni 99.95
FTL GAMES
Sundog 29.95
SIERRA
ULTIMA II 39.95
HABA
10 Megabyte CALL
HippoC Compiler 49.95
Check Minder 49.95
Business Letters 36 95
Wills 36,95
SOFTECHNICS
Timefink 75.00
Rhythm 39.95
SCARBOROUGH (Apple)
NET WORTH 48.75
Improved Masiertype 22.75
Mastertype Filer 22.75
BRODERBUND (Apple)
The Print Shop 31.50
Graphics Library 18.50
Graphics Library II 18.95
Paper Refill 11.95
Bank St Writer 64K 41.00
Bank St Writer 128K.,. .42.75
Bank St Filer 42.75
Bank St UiWei 42.75
Bank St Speller 42.75
Carmen Sandiego 22.75
Ka-ateka 22.75
Captain Goodnigtit 22.75
f/uppey Cruise 25.75
SUB LOGIC (Apple)
Flight Simulator II. ...32.7b
Night Mission Pinoall 20.75
MICROPROSE (Apple)
Crusade in Europe 25,75
Decision in Desert 35.75
F-15 Strike Eagle 21.75
Nato Commander 21.75
AcroJet 21.75
Silent Service 21.75
Gunship 21.75
SSI (Apple)
Mech Brigade 36.75
Norway ftSS 22.75
Market Garden ,.29.75
Six Gun Shootout 24.75
50 Mission Crush 24.75
Phantasie 24.75
INNOVATIVE CONCEPTS
Flip-n-Fils 10 3,50
Flip-n-Rte15 , 8,25
COMMODORE
G-128 NEW GALL
1571 Drive CALL
1572 Drive CALL
1902 Monitor CALL
1670 Modem CALL
C-64 Computer CALL
1541 Drive 189
fulPSBOl Printer LOW
1702 Monitor 199
Simon's Basic 24.75
Assembler 64 34,75
Super Expander. 22.75
MICROPROSE (C-64)
Kennedy Approach 21.75
Crusade in Europe 24.75
Decision iri Desert 24.75
Solo Flight 20.75
Nate Commander 20.73
Spitfire Ace 18.75
F-15 Sirike Eagle 20.75
Hellcat Ace..... 18.75
CARDCO
Digitizer Camera 189.95
32K Printer Buffer 59.95
Numeric Keypad 34.93
C9/5 5-slot Board(64)... .54.00
CB/2 2.slOt 8oardM....25.00
S'More Basic Rom 49.95
Write Novj-64 35.00
Mail Now-64 29.00
Spoil Now-64 29.00
File Now-64 29.00
Paint Now-64 29.00
Calc Now-64 29.00
EPYX
(C-84)
Fast Load 26.75
Breakdance 23.75
Greatest Baseball 24.75
Summer Games 26,75
US ROBOTICS
iPassvutin! 1200M 229
IPassviord 1200^ 229
Sssworo 3I)0M 139
iswoil 300F 139
1212A ,,.3S9
3t9
,519
769
379
469
tfcrollnh 4B9
Irtlpac Ms-OOS 79
TELE LEARNING
[TciiaJ Teleconmiinications
«) 299S
'■260(300 Baud Apple) 6S,9S
pB-eSO (300 Bajd IBM) £9,95
MODEMS
HAYES
Smartmodefn SOO 'jj
Smafimodem i200 377
Smanmodem 12008 347
Smartropdam 2400 598
MicrwTxidem HE 135
ANCHOR
VotksrnoOefn
VoOtsmoOem 12
BRODERBUND
The Print Shop 28.75
Graphics Library 18-75
Graphics Library 'I .. . 19,75
GraphicsLifararylll ,.. 19.96
Karateka 1 9 7,5
Castfps Dr. Creep... 19.75
Bank at. Writer 32 75
Loderunner 20.75
Mask of the Sun 24.75
Spplunker 19.75
Serpent's Star 24.75
'Vhistler's Brother... 18.75
SUB LOGIC (C-64)
Flight Simulator II....32.75
Night fvlission Pinbail 20.75
SSI (C-64)
Colonial Conquest 24.75
Wings of War 24.75
Computer Ambush 34.75
Fielcfof Fire 24,75
Fighter Command 36.75
Kampfgruppe 36.75
Mecn Brigade 36.75
Market Garden 29.75
Six Gun Shootout 24.75
Computer Baseball 24.75
Computer Quarterback. ,24.75
imperium Galaclum 24.75
Phantasie.,... .,.., 24.75
Cartels & Cutthroats 24.75
50 fvlission Crush 24.75
Questron 24.75
SPINNAKER (C-64ROM)
Cosmic Life ROfki 19.75
Jukebox 19.75
Alphabet Zoo 17.75
All in Color Caves 19.75
Up for Grabs 19.75
Delta Drawing, 19.75
Kids on Keys 16.75
Kmdercomp 14.75
Pacemaker 17.75
Fraction Fever 17.75
iBhnmsmniHie m 319
IBM 30(V1iOO/2400 «l 629
ISM 3(xiria«ie4oo ms-ixds 579
.9.V MS-IXJS ml 325
ISM CPtMS ml 32$
Maonoleffl 300ri200 31S
3.5" DISKETTES
DENNISON
3.5" SSDO ,,,,5 pak ... 14.95
3.5" SSDD....10 pak.... 26.95
RACAL-VADIC i
MAXELL
2400 fk;
, 549 1
3,5" SSDD..., 10 oak,.
.2S,9S
24(10PA
793 i
3.5"DSDD....10pak..
. 36.95
24CI0V
ml
1200TC
30(W
329 1
2051
3M
3Q0PC
199 '
3.5" SSDD.... 10 pak..
. 26.95
3,6" DSDD, ...lOpak..
. 32.95
SAKATA
SG 1000 12" Gruen 99
SA 1000 12" Amber, 1C9
SG 1500 12- Green TTL, 119
S* 1500 12" Amber TTL 129
SC 100 13' Coloi Comp, 209
SC 200 13" RGB 3B9
STSl Till Slaod , 29
PRINCETON GRAPHICS
MAX- 12 Amaer laS
HX-12 RGB 465
SF(-12 RGB 595
TAXAN
115 12' Greeen ComposjJe , CALL"
116 12" Amfcer Composite,,,, CALL
121 12- Green TTL 135
122 12- Amto TTL 145
220 H" Color ComposilB 259
410 12- HQB Hi Res IBM 329
420 12' RGB Super Hi IBM. ,409
440 12- RGB Ullra Hi Res ,.,555
T(ltS:?nd 35
TEKNIKA
MJ.10 Composile 179
MJ-22 RGB 255
MONITORS
PANASONIC
DT1300O 13" RGaCan(»sae.,..247
DTM140 14- R0&Ccmp(»le.,..329
DTHI03 10' RGB Hi Res 395
DTSlOl 10 ConpcstB , , ,175
DTlOOCG 10- RGB 166
TX12H3P 12- Color 419
TR120M1PA 12' Greer ,. ![]9
TRI20MBPA 12" Amber 1ID9
TH122M9P 12' Cresn IBM 148
TH122MVP 12- Ambsr IBM „ ,148
ZENITH
ZVIil 122A Amber
ZVM 123G Green
ZVM 1 24 Amber IBM
ZVfil 131 Colbr
ZVM 133 RGB
ZVM 135 Composile, ,.
ZVM 136 Hi Res Color.,
ZVM 1220
ZVM 1230
ZVM 1340,,,.,
AMDEK
5a0 Green 118
300 Amber 128
31Q Amber IBfJ 155
.75 Color 300 Audio 234
,75 Color 500 Composite 369
,129 Color 600 397
275 Color 700 495
■ M9 Color 710 569
.Isal NEC
.-..95 ja-1260 Green 95
....95 JS-1201 Green 135
..149 JC 1215 Color 235
JC 1215 RGB 375
JC K60 Color 265
LYCO COMPUTER
AMERICA'S MAIL ORDER HEADQUARTERS!
COMPUTEI Books
For Kids
m
i^maaa
Help your children learn the basics
of computer programming with these
two new entertaining and educational
books from COIMPUTEI.
0-67455-038^
$14.95
0-87455-032-7
$!4.95
Each book contains easy-to-follow Instructions, programming examples, quick reviews, and
colorful Illustrations. Written In COMPUTEI's clear, easy-to-undersfand style, the books offer
hours of entertainment while helping kids (and adults) learn to program in BASIC.
if you're acquainted with BASIC, you can easily write your own games and applications on
Atari's ST or Commodore's 128 computers. Over 30 sections — all with Instructor notes,
lessons, assignments, and lively Illustrations — entertain and amuse as you learn to use
these powerful computers. COMPUTEI's Kids and the Atari ST and COMPUTEI's Kids and the
Commodore 128, In the bestseiling series from author Edward Carlson, are gentle
introductions to programming your new computer. Clear writing and concise examples,
both trademarks of this series, make it easy for anyone — child or adult — to learn BASIC
painlessly.
r"
Look for these and other books from COMPUTE!
al book store or computer store. Or order directly from COMPUTEL
To order, call toll free In the US 1-800-346-6767 (In NY 212-265-B360) or mall the attached coupon with
your payment to COMPUTEI Books, P.O. Box 5038, F.D.R. Station, Now York, NY 10150.
Please send me the following COMPUTEI books. My payment Is enclosed.
COMPUTEI's Kids and the Commodore i 28, i032-7)$U.9Sieact\
COMPUTEI's Kids and the Atari ST, (038-6) $14.95 each
Subtotol
ALL ORDERS
MUST BE
PREPAID IN
U.S. FUNDS
D Payment enclosed (check or money order)
D Charge D MasterCard n Visa n American Express
UC residents odd 4.5% soles tax
Shipping and handling per book
(In U.S. and surface moll, $2.00 per
book; airmail. $5.00 per book.)
Total omount enclosed
Account No.
Name
Address
Exp. Dale .
(Required)
City
State
Please allow 4-6 weeks (or delivery.
.Zip,
36412011
COMPUTEr Publications Jnc. ffl
COMPUTEI books are available In the U.K., Europe, the Middle
^^ East, and Africa from Holt Saunders, Ltd., 1 St. Anne's Rood,
^7VZZ. r^ Nr?SrNv ,00,9 "^ Eastbourne, East Sussex BN21 3UN, England and in Canada from
»o<col^mm^coM^re^■sgIW•,(:!>*^JII'••Gm•™l]*.c<»*TOl^x»l.ono<»*uItrl^^ Holt, Rinefiorf, & Winston, 55 Homer Avenue, Toronto, ON M8Z 4X6.
program could make the world differ-
ent each time. Surprisingly, Heart of
Africa offers no such option. There are
very good reasons for this — the time
limit, and the quest itself — but perhaps
the game would be even more complete
if each Africa could be a new one. Dis-
coveries are less exciting when you
know about them beforehand. Further-
more, the desperate feeling of being
hopelessly lost, which Seven Cities of
Gold presented so well, cannot happen
here. If the game has a flaw, this is it.
But the flaw is easily overcome.
The romance of uncovering the Dark
Continent captures the imagination to-
day as much as ever, perhaps because
there remain no large, unexplored land
masses anywhere in the world. Heart of
Africa lets you canoe down the Congo,
meet a Zulu chief, and even get caught
in a whirlpool near Stanley Falls. Khar-
toum, Timbuktu, the Zambesi, Lake
Tanganyika, Tangier — they're all there,
waiting for you, ready to throw you
many surprises.
An almost flawless development of
an already excellent game system.
Heart of Africa should excite anyone
who found Seven Cities of Gold even
remotely interesting. Now, if only I
could find Dr. Livingstone.
Heart of Africa
Electro7iic Arts
2755 Campus Drive
San Mateo, CA 94403
$32.95
Hacker
Todd Heimarck, Assistant Editor
Reijuirements: Commodore 64 or 128; Ap-
ple Il-series computer with at least 64K
RAM; Atari 400/800, XL, or XE with at
least 48K RAM; IBM PC/PCjr loith at
least 128K RAM; Atari ST; Amiga; or
Apple Macintosh. Disk only.
When the first thing vou see is the
prompt LOGON PLEASE:, you want to
reach for the rule book. But apart from a
card that tells you how to load and run
this game, there are no instructions.
None at all.
The premise behind Hacker is that
you have stumbled across a telecom-
munications system about which you
know nothing. Being a good hacker (if
that's not an oxymoron), you feel the
urge to break in and explore. Try a few
passwords; unless you're very lucky,
none of them vvill work. After several
failures, the system logs you off and the
game ends. Or does it?' Some random
characters appear on the screen, and
If] HP EH]
L> I] - L .-I
M ' ^ ■
XJFJ
m
On the trail of corporate skullduggery in
Actiuision's Hacker (Commodore 64
version).
the computer indicates that a security
malfunction has occurred. You're in.
The logon sequence is very realis-
tic. Once, at the beginning of a game,
someone walked into the room and
watched me guess at a few passwords.
Hearing that we were trying to get into
an unknown system, which might be a
government computer, and then seeing
the security malfunction message, he
got worried and reminded us that it's
illegal to do what we were doing. That's
the great appeal of Hacker, the feeling
that you're doing something wrong and
that you might get caught. Who knows,
the FBI might even show up at your
door and confiscate your computer.
After you enter the system, the
game becomes less realistic. On an ac-
tual telecommunications system, every-
thing would be straight text. The author
o[ Hacker, in the interests of playability,
has inserted some high-resolution
graphics — unlike anything you'd see
on a true bulletin board system or infor-
mation service. However, the graphics
do add a lot to the game.
Remote-Control Robots
You soon discover that you've come
across a company involved in some sort
of top-secret illegal project. This makes
you feel less guilty about breaking into
someone's system; you can seek out
more information about this project
and bring the culprits to justice.
The company owns a vast network
of subterranean tunnels, and their com-
puter (to which you've gained access)
controls robots that travel through the
tunnels. By using the robot to explore
the tunnel network and occasionally
coming to the surface, you can accumu-
late more details about the project. I'll
say no more about the most effective
techniques for winning because an im-
portant part of the game is figuring out
what's going on.
The game play is almost identical
in the versions 1 tried on the Commo-
dore 64, Atari 520ST, and Amiga. The
newer 16-bit machines (Amiga and ST)
displayed slightly better graphics than
the 64 because their screens have high-
er resolution and more colors, The ST
version works on both monochrome
and color monitors.
All things considered. Hacker is a
worthy addition to your software col-
lection, especially if you enjoy adven-
ture games that require a bit of thought
and an investment of time.
Hacker
Activision, bic.
2350 Bayshore Frottfage Road
Mountain View, CA 94043
S24.95 (Atari 400/800/XL/XE)
S29.95 (Commodore 64/128)
S39.95 (Apple and IBM)
S44.95 (ST, Amiga, and Macintosh)
MasterType's
Writer For Apple
Stephen Levy, Book Editor
Requirements: Apple He or Apple He with
128K RAM ajid a printer. A Commodore
64/228 version is scheduled for release
this spring.
Does the world really need another
word processor? After all, MasterType's
Writer does all the things most word
processors do. Using direct commands
or on-screen menus, you can write,
edit, save, search, move, change, find
and replace, and print just as you can
with most full-featured word process-
ing programs.
So what makes MasterType's Writer
special? If you're using it with an Apple
Ilc/lle and an Imagewriter or Image-
writer II printer, and if you need multi-
ple fonts — including some very targe
print styles — Writer is worth a closer
look, even if you already have a word
processor. With an Imagewriter or
Imagewriter II, Writer can dump an ex-
act copy of what's on the screen to the
printer. Writer comes with eight fonts
which can be loaded from disk and
saved with your text. Among the styles
are fonts that print very large type to
the screen, quite suitable for use by
young children just learning to read;
proportionally spaced fonts of various
sizes; and a style that is quite suitable
for use on a monochrome monitor.
Each font can be edited, so you can
modify those provided or design your
own completely new font. And once
created, you can use the screen dump
feature to duplicate text written with
the new font on paper.
If you have an Imagewriter II with
a color ribbon, it's a simple matter to
print text in color — simply underline
April 1 986 COMPUTEl 65
the text to be printed in green with a
green line, blue text with the blue line,
and so on. Again, you get an exact copy
on paper.
Some Nice Touches
In addition to the fancy printing fea-
tures, MasterType's Writer includes a
few other extras. For example, the on-
disk tutorial is well done and is a good
introduction to using the program.
Many people will return to the tutorial a
second or third time even after they've
started creating documents.
With Writer's dual windows, you
can work on two documents at the
same time. You can have an outline in
one window and the text you're writing
in the other. If you've never used this
kind of feature before, you might not
miss it; but once you've tried it, you'll
wonder how you got along without it.
Writer's dual windows have the added
advantage of allowing you to decide
how much of the screen each window
will occupy at any time.
The manual is arranged in alpha-
betical order with entries for most of the
terms you're likely to look up. Usually a
term refers you to the appropriate in-
structions. If you're the type who likes
to jump right in, you may find the
manual a bit frustrating. But if you've
tried the on-disk tutorial, you'll find the
manual easy to use. And once you've
been using Writer for awhile, an alpha-
betically arranged manual makes locat-
ing information a snap.
Another powerful feature oi Master-
Type's Writer is keyboard macros — you
can recall a series of instructions with one
or two keystrokes. Macros are especially
handy for storing a series of often-used
words. If you're writing a book report, for
example, you might need to type the
author's name or the book's title many
times throughout the report. By defining
these phrases as macros, you can type
them simply by pressing two keys.
Since macros can include program
commands as well as ordinary charac-
ters, you can create macros for such pur-
poses as saving your document on disk.
Then, whenever you want to save the
current copy of your work, you just press
two keys.
Ease Of Use
MasterType's Writer gives you the choice
of using direct commands — usually ac-
cessed by pressing CONTROL and one
other key — or menus. Moving through
the menus is easy and fast and saves you
the trouble of memorizing commands.
The menus are ideal for those new to
word processing. Direct commands are
faster for some functions, but for others
save little more than one or two key-
strokes. Most people will probably use a
combination of both menus and direct
commands.
If you revise text often, one aspect of
MasterType's Writer you may find an-
noying is its text entry and editing line.
Writer doesn't allow full-screen editing;
all text must be entered and edited on the
bottom line of the current window. That
means you must press the cursor keys to
move the line you wish to edit to the
bottom of the window. This isn't a prob-
lem when first entering text, but later,
when editing, you can't see what comes
immediately after the line you're trying
to alter without continuously moving the
text up and down.
For whom is MasterType's Writer
most suitable? It should be strongly con-
sidered by those who have never used a
word processor, teachers or students who
plan to use it in schools, Apple users with
an Imagewriter printer, or anyone who is
unhappy with their current word pro-
cessing program.
MasterType's Writer
Scarborough Systems, Inc.
55 South Broadway
Tarry town, NY 10591
$69.95
HabaWrifer
For The Atari ST
George Miller
Assistant Technical Editor
Requirements: Atari ST with at least 512K
RAM and a compatible printer.
If you've been using ST Writer, the free
word processor from Atari, but have
been wishing for a program that sup-
ports the drop-down menus and win-
dows of GEM, then HabaWriter is for
you.
fed Filr U-.J S*-ircfc fm: Jtili
hiiii^^i'^ **f
ft»
vat If iktUwinr w^ mcKBttr Ar
ItrESaST.^
h l«rt wr»» IrfiK n rtr Irti, mi ^XntOn JKOtt ttr
rtfH ftr ri^ ktju ilM^U jl tk n^l ^ ^n U d>
Irh. It fcB'l PTTtir ifczt w T*f Wf. jiKf Oil IS
JET (tr 4 tt^ Mri Oni mrb m'I k ntiLt u 'Or
mm* l^ «|ni- t
ImrtWIm, Uttt'i t itrun 9fm\ il tstm a Htuf
ewt All imibtt rtsx. «rm lift nvTEkiH Itkt J rr»l
teHcn. T^ K wtfi Vt^mn uri; «l ml «r«,
■TB^ ixt» ml itren. Hast flnsb ^ dn Ir
wrm/gi utt iprar^ *ii^ maklr 4i srt ri tkaj
ax mtlt ntF. Mrchr ■- hi tkv rrvvb aam
■I mill! is mM^ mam il'mnkt...^
aEnn:
HabaWriter takes advantage of the
GEM environment and includes all the
features we've come to expect in a good
word processor. Even more important,
HabaWriter is easy to use. The instruc-
tion manual isn't very long — only 46
pages. If you're accustomed to other
word processors, this may seem
strange. Many programs have entire
books devoted to their use, and some-
times it's necessary to enroll in special
classes to become really proficient.
Even though the size of the HabaWriter
manual is small, all the information
you'll need is there.
When you start up HabaWriter, you
see a menu bar at the top of the screen
with seven headings: Desk, File, Edit,
Search, Format, Style, and Print. Just as
on the GEM desktop, each menu in-
stantly drops down when you point to
it with the mouse. A click of the mouse
button picks any selection on the cur-
rent menu. Happily, HabaWriter is an
intuitive program — the way you want
to do something is probably the way
HabaWriter requires you to do it. And
the commands on the menus allow you
to do just about everything you can
think of.
If you prefer not to use the mouse,
the ST's ten special function keys let
you access most of HabaWriiefs fea-
tures. If you can't remember which key
66 COMPUTE! April 1986
does what, just press the Help key. A
window opens on the screen to display
a convenient chart of the function key
commands.
You can even use the Style menu
to change the on-screen typeface from
plain text to boldface or underline. Un-
derlined text, however, is displayed with
true underlining only on the mono-
chrome monitor in high-resolution
mode; it won't be underlined on the
color monitor in medium resolution.
But when you print your document, the
text is underlined. (If you're using a
printer that's capable of underlining, of
course.)
Multiple Windows
HabaWriter lets you use the mouse for
most functions that would require spe-
cial commands with other word proces-
sors. For instance, you can define a
block of text simply by dragging the
mouse cursor over it. To delete the
block, you would then select the Cut
option from the Edit menu. Even
though the text is erased off the screen,
it's still kept temporarily in a clipboard
and may be pasted back into the docu-
ment wherever you wish.
HabaWriter uses screen windows
for other purposes, too. You can open
up to six windows to display more than
one document at a time. Moving text
between the windows is as easy as
moving text within a document. And
the size of the windows can be
changed, just as with any GEM win-
dow. Files can even be combined, al-
lowing you to work with longer
documents by using the Paste Docu-
ment option.
On-screen rulers let you easily set
tab stops anywhere you want, and hori-
zontal scrolling lets you create docu-
ments as wide as 132 columns. (Only
80 columns are displayed on the screen
at a time.)
Using options on the Format
menu, you can center text on the
screen, align it to the right or left mar-
gins, or "justify" the text, just as profes-
sionally typeset pages appear.
HabaWriter's use of the GEM envi-
ronment and its wide range of features
make it one of the most attractive appli-
cation programs to date for the Atari
ST. You'll find it's a snap to give your
correspondence and club newsletters a
polished look— without much of the
strain that's usually involved in learn-
ing how to use a new word processor.
HabaWriter
HabaSystems, Inc.
6711 Valjean Avenue
Van Nuys, CA 91406
S74.95
MUST LIQUIDATE!
COMMODORE PLUS/4£
COMPUTER SYSTEM
AT BELOW DEALER COST! r~~
NOTE: Monitor not
availablfl. The Plus/4'"
can hook up to your TV.
Factory new!
Factory warranted by Commodore®. Built-in
software for word processing, data process-
ing, spreadsheets and 128 color graphics!
Commodore® designed this Plus/4" specifically for program-
mers and small businesses! And tfien they made it VERY EASY
to learn and use for novices. Popular business software is
available for a variety of purposes. For programmers, this
machine has easy-to-use powerful commands and 60K of
usable memory. Can hook up as many as four disk drives.
Team up the computer with our compatible units of famous
brand, factory reconditioned and warranted DISK DRIVE and
DOT MATRIX PRINTER! Sorr/. we can't print the brand name of
the disk drive and printer. But phone us Toll- Free and we can tell
you. With Disk Drive for data storage and Printer for "hard
copies", you'll have a complete system. ..at low liquidation
prices. Order TODAY!
Units sold indtvidually or In anv
combination you desire.
PLU5/4 COMPUTER
Item H-1087-S035-CX)1 Ship. hand. $8.00
DISK DRIVE
Item H-1087.3S53.013 Ship, hand SS.OO
PRINTER
Hem H 1097-3831 -005 Ship, hand' S7.00
TOTAL
Ship, hand: S23.00
Original
List Price
»299.00
*269.00
*200.00
«768.00
YOUR
COST
»79
»149
»119
»347
Additional Features of
COMMODORE PLUS/4
Dale base of 999 rocord&, Com-
puierHolds 99 lines of loxt before
it must be transferred to disk
dftve. Excellent terminal for use
withmodem. 12Bcolorsavailable
for graphics. Split screen and
windowing capabilities Compat-
ible wilh all Commodore bard-
ware except jjoystick and dataset.
NOT compatible with C64
software.
DISK DRIVE
Intelligent^ high-speed. External
5Vi" floppy diskette recorder. 2K
RAM, 16K ROM. Maximum star-
age of 170K formatted data: 35
tracks. Uses sir^gle sided, single
density disk. Serial interface.
Second serial port for chaining
second drive or printer. Data
transfer rate of 400 bytes per
second.
DOT MATRIX
PRINTER
B (-directional 6x7 dot matrix
impact printer. 60 characters per
second. Has upper and lower
case letters, numerals and sym-
bols. All PET graphic characters.
Siendaird friction feed. M aximum
ofBOcolumnswidth. dot address-
able. CBM, ASCII character
codes. Original plus maximum of
two copies. Paper width: 4.5" to
a.5".Size:13"Wx8"Dx3V*"H,
Weight: SVa lbs.
COMPLETE SYSTEM
WITH 20 FREE FLOPPY DISKS
Total Original Ust . . . ^877.00
Uquidation ^
Priced At Only ...
Hem H. 1087.5035-019 Ship, hand S19 00
Credrt card customers can .p^^-j,; — v i f^^^i'
order by phone. 24 hours h4oit«cort, vfiA
a flay, 7 flays a week. '^- -■■■-..^ ^■■B
Toll-Free: 1-800-328-0609
Your check is welcome!
No delays in orders paid by check.
Sales ojtside continental U.S are subject to special
conddions Please call or wr«te to inquire.
' C.O.M.B. Oirect Marketing Corp. Item H-1087
I 14605 28th Ave. N. /Minneapolis, MIM 55441-3397
I Send the following Items (Minnesota residents add 6% sales
' tax Allow 3-4 weeks for delivery Sorry, no CO D orders)
I Send COMPLETE SYSTEMIs) Commodore- Plus/4^^.
J Disk Drive, Printer and Floppy Disks Item H- 1087-5035-01 9 at
I S339 each pius SIS each for ship, handling
I Send COMMODORE* PLUS/4t^- COMPUTER|s)ltem
• H- 1087-5035-001 a[S79eachplus SSeach for ship. har^dlmg.
I Send DISK DRIVE(aJ hem H-10S7-3553-O13 at S149
. each plus S8 each for ship, handling.
I Send^PRIftJTER^sJ Item H-10S7 3831 005 at S119 each
I plus S7 each for ship, handling.
D My check or money order is enclosed, (No delays in
I processing orders paid bv check, thanks to TeleCheck.)
C.O.M.B.
I Charge: c MasterCard,
IAcct. No
PLEASE PfiiNT CLEARLY
I Name
I Address
J-
■ Wb In ■ D ■ Direct Marketing Corp.
Authorized Liquidator
14605 28th Avenue North
Minneepolis. Minnesota 66441-3397
I Ciiy
I State
Sign Here—
Loading And Linking
Commodore Programs
Part 2
Jim Butterfield, Associate Editor
Are you running out of memory for
your programs? You don't necessarily
have to buy a bigger computer. This
month's installment shows how a
technique called chaining lets you
break up a large program into smaller
parts to work on a common task. The
technique applies to all Commodore
computers, with either disk or tape.
There are three major ways of con-
necting programs together. Chain-
ing allows several, programs to
perform a job, each program con-
tinuing the work that a previous
program has started, load linking
lets one program load another pro-
gram, with the new program start-
ing fresh on a new task. Overlaying
lets a main program call in addi-
tional subroutines, data tables, or
graphics information. This month
we'll discuss chaining.
When one of a series of pro-
grams has completed its share of
the work, it may chain to a follow-
ing program to continue processing
the data. In effect, several programs
group together to create a bigger
program. On Commodore comput-
ers, chaining works with disk or
tape. It's more common with disk
because the various programs can
be brought in more quickly. If used
with tape, you can arrange the pro-
grams sequentially on the cassette
so little time is lost in searching for
the next program. We'll use disk for
the following examples, but they
can be readily converted' to tape.
Why Chaining?
The most obvious reason to chain
programs is to save memory space.
On small computers, there isn't
enough room for big jobs. So the
program is broken up into
"chunks." Each chunk is small
enough to fit into memory, each
does a specific task, and together
they do the whole job. Even on
computers that seem to have lots of
memory, you may need to resort to
chaining to relieve congestion. For
instance, even though the Commo-
dore 64 begins with 38,911 bytes of
free memory, arrays of data can
quickly fill up much of this work
area.
Sometimes program flow is an
important reason for chaining. If a
statistical program has been pro-
cessing some data, it might ask the
user to choose from several options
(draw a graph, print the data, etc.).
Depending on which option is cho-
sen, it may be convenient to call in a
selected program to do the next job.
In this way, the original program
needn't be cluttered with code to
cover all the possible options; in-
stead, the options are handled by
programs called in as required.
Likewise, it's possible to write
a program that starts up in several
different ways. In one case, it might
collect the data it needs from DATA
statements. Another time, it might
require input from the keyboard.
On still other occasions, it might
compute the data, read it from a
file, or detect it by external sensors.
No matter. We'll start up whatever
"acquisition" program is appropri-
ate, and when the data is ready to be
processed, the computer can chain
to a common processing program.
Chaining is also a worthwhile
exercise which can force you to
break your programs into well
thought-out modules. Your pro-
gram can't leap about at will, since
it can only reach whatever is in the
current module; and you must tie
up loose ends before you go to the
next unit. Each time you chain,
FOR-NEXT loops are scrapped,
subroutine RETURNs are canceled,
and the DATA pointer is RE-
STOREd. You must make sure that
these program areas are tidy before
you chain, since they will otherwise
be lost.
Program Architecture
A major advantage of chaining is
that you don't lose variables between
programs. Values, strings, and ar-
rays that have been worked out by
a previous program are carried
through to the next program seg-
ment. This is useful, but it also calls
for careful handling — we don't want
to mash these values inadvertently.
Figure 1 shows how programs,
variables, and arrays lie in memory.
The point marked start-of-BASIC is
where the program starts in memo-
ry. Behind the program is a point
called start-of-variables; beyond
this point the computer stores vari-
ables and arrays.
You usually don't need to
know the exact addresses of these
memory points; the computer takes
care of the housekeeping for you.
String variables go into this area,
too — although not the strings them-
selves, just three-byte descriptors
6a COMPUTEI April 19B6
that say where the strings are locat-
ed and how long they are. (More on
this later.)
Suppose you have a large pro-
gram that chains to a smaller pro-
gram. Figure 2 shows this
happening.
The variables don't move; be-
hind the second program is wasted
space that isn't used. This creates
no problem when you run the pro-
gram. However, after this kind of
chaining has taken place, you
should not SAVE the second pro-
gram or you'll save the wasted area
too (SAVE always stores from the
start-of-BASIC point to just before
start-of-variables).
Here comes the problem. Let's
take the reverse situation: a small
program that chains to a larger one.
Figure 3 shows the difficulty that
results.
The big program overwrites
and destroys the variables created
by the first, smaller program. To
keep this from happening, our first
program must be the biggest of the
two, or at least the same size.
If several programs are chained
together, this rule always applies.
The first program must be as big or
bigger than any other program. It
sets the start-of-variables point,
and it must set it high enough so
that all following programs won't
run into trouble (for more infor-
mation on this point, see "Commo-
dore Program Chaining," COMPUTE!,
December 1985). The Commodore
128 in 128 mode doesn't need to
worry about this problem. Since it
keeps variables in a separate mem-
ory bank, loading a new BASIC
program can't harm them.
Figure 1 . basic program storage
Program text
Variables
Arrays
t
Start of BASIC
Start of Variables
Figure 2. Chaining a smaller program from a large one.
Program 1
Variables
Chains
Program 2
1 1
1 1
Program text
Unused
Variables
t
Start of BASIC
Start of Variables
Figure 3. Chaining a larger program from a smaller one.
Program I
Variables
Chains
Program 2
1
t
Start of BASIC Start of Variables
Chaining a longer program destroys the original program's variables.
Strings And Descriptors
As noted earlier, the variable and
array area holds string information
(the descriptors), but not the strings
themselves. There are two places
where the actual strings might be,
and it's important to know about
them. Say that your program con-
tains a line like this:
370 A$ = "GORILLA"
When this line executes, the
computer makes an entry in the
variable table showing that there is
now a variable called AS, that its
length is seven characters, and that
it is located at its present position in
the program text itself. Except on
the 128, the string is used from
where it lies within the program.
The computer decides that there's
no point in making an extra copy of
GORILLA; when it needs this
string, it takes it from the BASIC
program line. This type of string is
called static because it never moves
from its original location. Static
strings can mean trouble if you
chain programs: Since chaining re-
places the original program text
with a second program, all static
strings — which exist only in the
first program's text — are destroyed.
There's a second kind of string,
and that's the one we must use
here. If a program contains a state-
ment like INPUT A$, the string
which is typed by the user must be
stored somewhere. This is called a
dynamic string; the computer stores
it in a safe place where it won't be
disturbed by chaining.
Dynamic strings are created in
two ways: by INPUT or GET state-
ments and by string manipulations
(LEFT$, RIGHTS, STR$, concatena-
tion, and so on). It's simple to
change a static string into a dynam-
ic one. The statement A$ = "GOR-
ILLA" -I- "" concatenates (adds
together) the strings "GORILLA"
and "". Since '"' is a null (empty)
string, this statement really means
"add nothing to the string GORIL-
LA." Though the contents of the
string don't change, the computer is
convinced that we now have a new
string which must be stored else-
where in memory.
Again, the Commodore 128 in
128 mode doesn't need to worry
about this problem. Strings are kept
in a separate memory bank, and
April 1984 COMPUTE! 69
there's no such thing as a static
string in 128 mode.
Chaining Rules
Let's summarize the rules for well-
chained programs:
• The first program in the chain
must be as big or bigger than all
subsequent programs.
• Any strings you need to pass
from program to program must be
dynamic, not static.
• If you use DEF FN definitions,
redefine them in each program.
• Arrays should be DIMension-
ed only once, preferably in the first
program.
A Short Example
Let's write a small series of pro-
grams to demonstrate how this
works. Our first program is called
MAIN:
100 IF N>0 GOTO 200
The variable N can only be
zero when we start, so we won't
jump ahead. But if we ever chain
back to this program, we'll take the
branch to line 200.
110 PRINT "SIMPLE GRADEBOOK DE
MO"
120 DIM N?(15),M(15)
130 N=8
For simplicity, we'll assume
eight students. When the program
runs, you can invent their names
and numeric grades.
140 FOR J=l TO N
150 PRINT "STUDENT"; J;
160 INPUT "NAME";N5(J)
170 INPUT "GRADE";M{J)
180 NEXT J
Running the program at this
point gives you data on eight stu-
dents. If you ever chain back to this
original program, it will branch to
line 200 (remember the IF test in
line 100).
200 PRINT
210 PRINT "DO YOU WANT TO — "
220 PRINT "1. CALCULATE AVERAG
E"
230 PRINT "2. CALCULATE HIGH/L
OW SCORES"
240 PRINT "3. QUIT"
250 PRINT
260 INPUT "YOUR CHOICE (1-3)";
C
270 ON C GOTO 300,310,3 20
280 GOTO 260
300 LOAD "C.AVG",8
310 LOAD "C.HIL",8
320 END
Note that line 300 will not run
into line 310, nor 310 into 320. The
moment you perform LOAD within
a program, the new program loads
and runs immediately. Type this
program and then save it as MAIN
(don't save it under any other file-
name). Now type NEW and enter
program C.AVG as follows:
100 PRINT
110 A=0
120 FOR J=l TO N
130 A=A+M(J)
140 NEXT J
150 PRINT "AVERAGE SCORE, ";N;"
STUDENTS=";A/N
160 PRINT
170 LOAD "MAIN", 8
That's it. Check it closely and
save it as C.AVG (again, the file-
name is important; don't change it).
Now type NEW and enter program
C.HIL as follows:
100 PRINT
110 H=M(1):L=M(1)
120 FOR J=l TO N
X30 IF H<M(J) THEN H=M(J)
140 IF L>M(J) THEN L=M(J)
150 NEXT J
160 PRINT "HIGH SCORE: ";H;" BY
170 FOR J=l TO N
180 IF H=M(J) THEN PRINT N$(J)
190 NEXT J
200 PRINT "LOW SCORE I ";L;" BY
210 FOR J=l TO N
220 IF L=H(J) THEN PRINT K5(J)
230 NEXT J
240 PRINT
250 LOAD "MAIN", 8
Again, check your typing
closely and save the program as
C.HIL to complete the set. Now
load program MAIN and you're
ready to try out chaining. Note that
MAIN is definitely larger than the
other two. If there's any doubt in
your mind, add some extra REM
statements to MAIN to make it
bigger.
Side Effects
We mentioned earlier that the act of
chaining causes certain things to
happen. FOR-NEXT loops are
scrapped, subroutine RETURNS are
canceled, and the DATA pointer is
RESTOREd. That makes sense: You
can't RETURN to a program that
has disappeared, for example. And
occasionally, these side effects can
be useful. For instance, can a pro-
gram ever chain to itself? The an-
swer is yes, but at first it's hard to
see why you'd want to do so.
What's the point of loading a pro-
gram that's already there? The an-
swer lies in these side effects.
Sometimes a program gets
stuck deep in a subroutine and can't
find its way out. With good pro-
gramming, this should never hap-
pen. All subroutines should
RETURN neatly, and if there's an
error or similar anomaly, the infor-
mation should be logged into a flag
and detected at the appropriate pro-
gram level. It's easy to give that sort
of advice — but sometimes a pro-
gram is deep within several nested
levels of subroutines when the user
commands, "Forget all this and
take me back to the menu." Sensi-
ble programmers know that you
can't jump direcdy out of these sub-
routines back to the main menu,
and it's a long, long trail to back-
track the whole way.
In case of emergency, you can
chain the program to itself. As it
loads itself back in, it shakes off all
the FOR-NEXT loops and subrou-
tine levels and surfaces cleanly —
with all variables in place — at the
first statement. Just to show it can
be done, we'll write a dreadful pro-
gram that does just that. Please
don't write programs this way: It's
here just to illustrate a point. Re-
member to type NEW before enter-
ing this program.
100 IF N>0 GOTO 130
110 PRINT "NAME LIST"
120 DIM N$(50)
130 PRINT
140 PRINT "DO YOU WANT TO — "
150 PRINT " 1. ENTER NAMES"
160 PRINT " 2. LIST NAMES"
170 PRINT " 3. QUIT"
180 INPUT "YOUR CHOICE"rC
190 ON C GOSUB 210,310,350
200 GOTO 130
210 PRINT "ENTER EACH NAME"
220 PRINT "FOLLOWED BY AN '*'
CHARACTER"
2 30 PRINT "TO END ENTRY"
240 GOSUB 260
250 GOTO 240
260 INPUT N$
270 IF NS="*" OR N=50 THEN LOA
D "DEMO", 8
280 N»N+1
290 N?(N)=N$
300 RETURN
310 FOR J=l TO N
320 PRINT N$(J)
330 NEXT J
340 RETURN
350 END
Check the program and save it
with the filename DEMO; be sure
to use that filename, since the pro-
gram uses it to load itself.
DEMO is a program turned
bad, and you should try not to get
yourself into a similar problem. By
the time this program reaches line
70 COMPUTEI April 1986
210, it's in a subroutine; at line 260,
it's nested within a second subrou-
tine. When line 270 discovers that
the user wants to exit, the poor
programmer doesn't know how to
get out, GOTO 130 would be a very
bad solution: Jumping out of the
routine with GOTO instead of RE-
TURN leaves unprocessed subrou-
tine information on the computer's
stack (which can eventually cause
an OUT OF MEMORY error). What
to do?
The second-best solution
(shown here) is to clean up the
program with a chain to itself. The
best solution is not to get yourself
into this kind of mess in the first
place.
Chaining can be a useful and
powerful technique. There are
some rules to remember — especial-
ly that of making sure the first pro-
gram is the biggest — but in general
it works quite well. Don't confuse
chaining with loading, where one
program loads and starts another.
In this case, there's no passing of
variables; the new program starts
clean. We'll talk about loading in
next month's installment. @
CONVERSE WITH
YOUR COMPUTER
AT USTI A FULi IMPLEMENTATION Ol the Qnginsl EUZA program
IS now aval labia to run on your persor^al compjier!
Cre«led &t MIT in 1966, ELfZA hai become the world's most
celebrBte<) artificial intftlligence demonslralion program. ELIZA is a
non-dir«ctive psycholheraplsl who analyzes each sialemenl as you
lype i1 m and th^n mpands with her own comment or question —and
hei remarks are often amazingly appropriate!
Designed 10 run on a large mainlrame, EUZA has never before been
available to personal computer u$er^ eicept in greatly stnppeddown
versions lacking the sophistication which made the original program
sola&cinaimg
Now, our new persor^al computer version possessing the FULL power
and range Of exprassion of Ihe original is being offered al tlif
inlroduclory pnce o! only $^5, And to lei you find out how stie does it
(or leach her to do rrore) we have included the complete SOURCE
PROGRAM (written in BASIC) at no e^tra cost.
Order your copy cf ELIZA today and you II never again wonder how to
respond whan you hear someone say, "Oikay, let's see wtiat this
computer of yours can actually do*"
READ WHAT THE EXPERTS SAY ABOUT OUR VERSION OF ELiZA:
"Much more than a mere game. You'll be impressed with ELIZA,., A
convrnci ng demonstraiion of Arliticial Intel ligence."
-PC mGAZINE
"Deiigt^tfui entertainment.. An Idieal medium tor showing oil your
system,' -MiCROCOMPUTfNQ KtAGAZlUE
■'ELIZA isari astounding piece of software ..Afascinaling programto
use and study." -BARONS MiCROCOMPUTER REPORTS
"ELIZA is a great way to introduce your Iriendslo computers. ..A very
funny party game." -PETER A McWLUAMS
■'ELIZA is an exceptional program, one thafs fun to use. shows off
your machine, and has great historical interest "
-POPULAR COMPUTING MAGAHNE
'Thisversion of ELIZA is the best we have seen Asa party game, it Is
unmatched.- -HOME APPLICATIONS FOR THE C-64
ELIZA IS AVAILABLE IN THE FOLLOWING FORMATS;
* IBM PC, PC|r., PC'XT and all comoatibles.
• All Apple II computers (it. II Plus. He. lie)
• Apple Macintosh (Microsoft BASIC required}
* Commodore 64 (soecify disk or cassette;
■ SV* inch or6 inch disk lor all CP/M systems
All versions are S4S and include a six page users manual.
Please add S? 00 shipping and handling to all orders
(Calitornia residents please add E'^% saies tax)
ARTIFICIAL INTELLIGENCE RESEARCH GROUP
921 North La Jalla Avenue. Dept, M
LosAnget&s. CA900d€
(2t3)656-736fl (213)654-22H
^;IC. VISA and checlcs accepted
Adding
System Power
To ST BASIC
Part 1
Kevin Mykytyn, EditorJa! Programmer
Atari ST BASIC lacks commands for
certain operations such as reading the
mouse pointer, but it's possible to fill
in these gaps by calling system rou-
tines with the VDISYS command. In
Part I of this series, we'll examine the
basics of calling VDI routines from
BASIC and demonstrate a useful
graphics routine. Part 2 will show
how to read the mouse pointer with
VDISYS and present a program for
creating your own custom mouse
pointers.
If you own an Atari ST, you've
probably heard at least two of the
three-letter acronyms associated
with the computer: TOS stands for
Tramiel Operating System — a huge
system program which, at the most
fundamental level, allows the com-
puter to function. And GEM stands
for Graphics Environment Manag-
er, a separate system program that
handles the ST's graphics-oriented
desktop. GEM, in turn, consists of
three separate parts: the VDI (Virtu-
al Device Interface), a low-level
graphics interface that also handles
mouse input; the AES (Application
Environment Services), which uses
the VDI to manage data and the
desktop; and GEMDOS, which
handles disk operations.
Interesting, you may say, but
what's the point? For most BASIC
programming, you needn't worry
about TOS, GEM, VDI, AES, or
GEMDOS, any more than the aver-
age driver needs to know exactly
how an auto engine works. These
system programs are the invisible
machinery that makes everything
else happen.
However, as you may have
discovered, ST BASIC lacks com-
mands to do certain tasks, such as
drawing a circle or sensing the posi-
tion of the mouse pointer. That's
what makes one of these strange-
sounding programs — the VDI — an
invaluable asset for the BASIC pro-
grammer. The VDI holds a treasure
trove of system routines which can
do everything from drawing boxes
April 1986 COMPUTEI 71
and circles to rotating character
fonts and manipulating raster
blocks. With ST BASIC'S VDISYS
command, you can access all of
these routines — which compen-
sates in large part for the missing
ST BASIC commands,
VDISYS To The Rescue
In simplest terms, the VDISYS com-
mand calls (activates) a VDI system
routine to do a task that would be
difficult or impossible to perform in
BASIC. Furthermore, these system
routines execute very quickly — a
real plus when you're working with
graphics. Whether executed in im-
mediate or program mode, the
VDISYS command always takes
this general form:
VDISYSM
In this example a simple variable
named .r appears in the parenthe-
ses. It doesn't matter what value
this variable represents; it's a dum-
my parameter, needed only to satis-
fy the syntax of the command.
Don't try to enter this command
yet — if you do, there's a good
chance you'll see the mushroom
cloud symbol that signals a system
crash. A certain amount of prepara-
tion is always needed before you
execute VDISYS.
When a VDISYS command is
executed, control passes from your
BASIC program to an internal VDI
handler, which eventually passes
control to the VDI routine itself. But
first the VDI handler looks at cer-
tain sections of the computer's
memory, called parameter blocks.
The data in the parameter blocks
tells the handler which particular
VDI routine you want to execute.
There's also other information that
the VDI routine itself will need. If
you don't supply all the infor-
mation needed to call a routine, the
VDI handler can't carry out your
request.
VDI Opcodes
The first thing you must tell the
computer is which VDI routine you
want to call. Each VDI routine is
identified by a unique opcode num-
ber. For instance, the VDI routine
used in the program below has the
opcode 11. This is a generalized
shape-drawing routine. (There are
hundreds of VDI opcodes and asso-
ciated parameters, so we don't have
room in this article for a listing. But
you can find a 42-page list of select-
ed VDI opcodes in COMPUTEl's ST
Programmer's Guide, available from
COMPUTE! Publications.)
Once you know a VDI rou-
tine's opcode number, that value
must be POKEd into a special place
in memory defined by the reserved
variable CONTRL, Try typing
PRINT CONTRL in immediate
mode; even if you haven't given
this variable any value, the com-
puter prints a number on the
screen. ST BASIC always prede-
fines CONTRL along with several
similar variables. The CONTRL
variable represents an actual loca-
tion in memory.
Since the system automatically
substitutes this location for the key-
word CONTRL, you don't have to
memorize a series of numbers or
worry about where this parameter
block really resides. To select VDI
routine 11, for instance, you simply
execute POKE CONTRL, 11.
How Many Comers?
Once you've POKEd the VDI op-
code 11 into CONTRL, you must
tell the computer how many verti-
ces (corners) are needed to define
the graphic shape you want to
draw. Regular geometric shapes re-
quire different numbers of vertices.
A triangle, for instance, requires a
minimum of three comers. A rect-
angle, on the other hand, can be
defined with only two — the upper
left comer and the lower right one.
Of course, a rectangle has a total of
four corners, but the total is not
what we're looking for. The com-
puter cares only about the minimum
number of vertices it takes to draw
the shape in question. After you
determine how many vertices are
needed, that value is POKEd into
the location defined by CONTRL
+ 2. For example, in line 30 of the
program below, the statement
POKE CONTRL + 2,2 tells the com-
puter that you want to draw a rect-
angle (defined by only two
corners).
Notice that the second POKE is
directed two bytes higher in memo-
ry than the first. Now you can see
the parameter block begin to take
shape: It's simply a segment of
memory where you place a collec-
tion of values. The first byte of the
parameter block is defined by
CONTRL, and the remaining loca-
tions are defined as even-numbered
offsets above that starting spot
(CONTRL +2, CONTRL +4, and
so forth).
The particular routine used in
this program (termed a generalized
drawing primitive) contains several
subroutines (also called subfunc-
tion$), each of which performs a
different drawing task. To choose a
subroutine, you must POKE its
identifying number (called the
primitive ID) into the location de-
fined by CONTRL -I- 10. In this case
we want to use the bar-drawing
subroutine, whose primitive ID
happens to be 1 . So in line 40 of the
program, we POKE CONTRL + 10,1.
PTSIN And INTIN
The next step is to tell the VDI
handler where to place the graphic
shape. Recall that you told the com-
puter earlier how many vertices it
takes to define the shape. To posi-
tion the shape on the screen, you
must now tell VDI where to put
each vertex. This is done by POKE-
ing horizontal (X) and vertical (Y)
coordinate values into a second pa-
rameter block area.
The second parameter block
begins at a memory location de-
fined by the reserved variable
PTSIN {PoitUs Input). Again, you
don't need to know the actual
memory locations involved, since
the computer keeps track of them
for you. All you need to do is POKE
the correct numbers into PTSIN
(and even-numbered adjacent loca-
tions, in some cases).
Lines 50-80 of the example
program perform this job by POKE-
ing the bar's X and Y coordinates
into memory. The X coordinate of
the first point is POKEd into
PTSIN; the first point's Y coordi-
nate goes into PTSIN -I- 2; the X co-
ordinate of the second point goes
into PTSIN -H 4, and so on. Keep in
mind that you must supply a pair of
coordinate values for every point
that you defined in CONTRL + 2.
A third parameter block, be-
ginning at the address defined by
the reserved variable INTIN, is
used to pass attribute values, if any
are required by the current subrou-
tine. The term attribute is a catch-all
that can include many different pa-
72 COMPUTEI April 1986
rameters — colors, rotation values, a
style index, or whatever — depend-
ing on which subroutine is called.
Since the subroutine used in this
program requires no attributes, we
don't need to POKE any values in
this segment of memory. As a sig-
nal to the VDI handler that no attri-
butes ■ are involved, we must also
POKE a zero into location
CONTRL + 6; this location tells the
system how- many attribute values
to read from the INTIN parameter
block.
After all of the required values
have been POKEd into memory,
line 90 of the example program exe-
cutes the VDISYS command, which
calls the VDI routine and draws a
bar on the screen. This may seem
like an enormous amount of prepa-
ration for such a simple task (which
some other computers can do with
a single BASIC statement). On the
other hand, it's better than not be-
ing able to draw a bar at all. You can
cut down on the bulkiness of the
code by writing setup subroutines
that contain all the necessary
overhead.
Bar Drawing
10 fullw 2:dearw 2:color 2,2,2
20 poke contrl,ll 'VDI opcode
30 poke contrl+2,2 'number of vertices
35 poke contrl-)-6,0 'number of attributes
40 poke contrl-l-10,1 'primitive ID of bar
command
50 poke ptsin,50 'x coordinate of top left
corner
60 poke ptsin-F2,50 'y coordinate of lop
left comer
70 poke ptsin-l-4,100 'x coordinate of
bottom right comer
80 poke pt8in+5,100 'y coordinate of
bottom right comer
90 vdisys (0)
General Drawing Routine
Though every VDI call requires
several preparatory steps, each in-
dividual step is easy to perform. As
should be apparent by now, there's
nothing mystical about the pro-
cess— all you need to do is leave the
right pieces of information in places
where the computer can find them,
then signal that you want the job
done. The real work is done by the
system itself.
Though the general procedure
is the same in every case, each VDI
routine requires different types and
amounts of information. One of the
most useful VDI routines is the gen-
eralized drawing primitive used in
the example program. Table 1 sum-
marizes the POKEs you need to call
this routine.
Table 1: Generalized
Drawing Primitive
POKE CONTRL, 11
POKE CONTRL+2, number of vertices
POKE CONTRL-l-6, number of attributes
POKE CONTRL + 10, subfunction number
(primitive ID)
Again, CONTRL receives the
opcode number of the VDI routine;
CONTRL -I- 2 the number of verti-
ces in the desired shape;
CONTRL+6 the number of attri-
butes (if any); and CONTRL +10
the primitive ID for the subroutine
you want. This particular VDI rou-
tine is extremely versatile and can
draw pie-shaped segments, ellip-
ses, filled or empty rounded rectan-
gles, and other graphic images,
including text. Table 2 lists the
primitive IDs for each of this rou-
tine's subroutines.
Table 2: Drawing
Subroutines
Primitive ID
1
2
3
4
5
6
7
8
9
10
Subroutine
bar
dide
arc
pie
ellipse
elliptical arc
elliptical pie
rounded rectangle
filled rounded rectangle
justified graphics text
To select a specific subroutine,
find its primitive ID in the leftmost
column of Table 2, then POKE that
value into location CONTRL+10.
Table 3 summarizes the POKEs
needed to set up the second and
third parameter blocks (PTSIN and
INTIN). Remember, the value
POKEd into CONTRL+2 (number
of vertices) determines how many
X-Y coordinate pairs you must
POKE into the PTSIN parameter
block. The X and Y coordinates for
the first vertex go into PTSIN and
PTSIN + 2; the second X-Y coordi-
nate pair goes into PTSIN +4 and
PTSIN +6, and so forth.
Table 3: PTSIN And INTIN
Parameter Blocks
POKE PTSIN, X coordinate of firat vertex
(rectangle)
X coordinate of center
(circle, ellipse)
POKE PTSIN -(-2, Y coordinate of first
vertex (rectangle)
Y coordinate of center
(circle, ellipse)
POKE PTSIN + 4, X coordinate of second
vertex (rectangle)
X radius for ellipse
POKE PTSIN + 6, Y coordinate of second
vertex (rectangle)
POKE PTSIN -1-8, radius (circle only)
POKE PTSIN -!- 12, radius (circular arc or
pie only)
POKE INTIN, start angle for arcs and pies
POKE INTIN -I- 2, end angle for arcs and
pies
To draw a circle, ellipse, arc, or
pie-shape segment, POKE X and Y
coordinates for the shape's center
point into PTSIN and PTSIN+2. A
simple circle requires a radius value
in PTSIN + 8; arcs and pie shapes
built from a part of a circle require a
radius value in PTSIN + 12. To
draw an ellipse, or an arc or pie
shape built from part of an ellipse,
POKE the shape's X radius in
PTSIN + 4 and its Y radius into
PTSIN + 6.
Most of these subfunctions
don't require any attribute values.
To draw arcs or pie shapes, howev-
er, you must POKE two attribute
values into INTIN and INTIN +2 to
define starting and ending angles,
respectively. Since the angle values
are specified in tenths of a degree,
not in whole degrees, these param-
eters can range from 0-3600. The
starting angle specifies where you
want the rounded portion of the arc
or pie segment to begin, and the
ending angle shows where that
portion should stop. The statement
POKE CONTRL +6,2 signals that
you're passing two attribute values
to the VDI.
As you'll learn from experi-
menting with these routines,
VDISYS opens the gateway to a
wide variety of graphics capabili-
ties. Once you become familiar
with the setup process, you'll prob-
ably find yourself using VDISYS
more and more. In part 2 of this
article, we'll look at VDISYS in
more detaU, and present a program
that lets you create a custom shape
for your ST's mouse pointer. ©
April 1986 COMPUTE! 73
Mousify Your Applesoft Programs
Part 2
Part I of this series (COMPUTE!,
March 1985) provided an Applesoft
program allowing an AppleMouse,
joystick, or game paddles to point to
text on the screen. This month. Part 2
demonstrates more advanced mouse
operations such as defining a text area
and deleting, copying, or restoring the
defined text. The example programs
run with either DOS 3.3 or ProDOS.
Although a mouse works best, you can
substitute a joystick or game paddles.
Mouse-controlled programs must
perform a number of functions in
addition to simple pointing. The
programs following this article pro-
vide several of these important
capabilities:
• Define Text. Use the mouse to
highlight a block of text, which can
then be copied or deleted (typical
word processing operations),
• Copy Text. Copy highlighted text
to a buffer without deleting it from
the screen,
• Delete Text. Delete highlighted
text and save it in a buffer.
• Insert Text. Restore previously
copied or deleted text at a new
point on the screen.
• Cancel. Undo highlighting if you
wish to abort a copy or delete
operation.
'Delete a Character. Delete the char-
acter under the cursor.
• Delete to End of Line. Delete text
from the cursor to the end of the
line.
• Find Mouse. Locate the mouse
interface.
Getting Started
Enter and save Program 1, which is
an expanded and modified version
Lee Swobodo
of the program published in Part 1 .
It works in either DOS 3.3 or Pro-
DOS; if you're using ProDOS,
change line 115 as shown here:
115 fflMEM; 36352
Program 2 creates a binary file
named MOUSEY which contains
machine language routines used by
Program 1. The MOUSEY file creat-
ed by Program 2 must be present on
disk whenever you run Program 1.
(It's not necessary to have Program
2 itself on the disk with Program 1,
just a copy of the binary file created
by Program 2.) Be sure to save a
copy of Program 2 so you'll be able
to create new copies of MOUSEY
whenever needed.
Program 3 creates a short text
file which we'll use in the following
example. If you're using a joystick
instead of a mouse, refer to the
additional instructions under "Joy-
stick Modifications" below. When
you are ready to proceed, your disk
should contain a copy of Program
1, a file named MOUSEY (created
by Program 2), and a file named
TEXT (created by Program 3).
When you run Program 1, the
screen looks like this:
ENTER INFORMATION
FIRST NAME .... COMPUTE!
LAST NAME READER SERVICE
ADDRESS P.O. BOX 50950
CITY DES MOINES
STATE lA 50950
ZIP
TELEPHONE 1-800-346-6767
COPY DELETE INSERT CANCEL
ERASE QUIT DONE HELP
This screen simulates what you
might see in a simple address book
program. We have introduced an
intentional error by putting the zip
code entry on the same line as the
state entry. Let's correct the error
for a quick demonstration of a few
mouse features. Move the mouse
cursor to the first number in the zip
code, then press and hold the
mouse button down while moving
the mouse to the right. The com-
puter highlights the zip code in in-
verse video. Keep moving the
mouse until all the numbers in the
zip code are highlighted, then re-
lease the mouse button.
At this point, the highlighted
text area has been defined. Now
move the mouse pointer to the
word DELETE in the strip menu at
the bottom of the screen and press
the mouse button. The computer
erases the highlighted zip code
from the screen. Don't worry — the
information hasn't been lost.
Whenever you delete text, the pro-
gram stores it in a temporary mem-
ory buffer.
Now let's put the zip code data
back where it belongs. Move the
mouse pointer to the beginning of
the next screen tine (directly under
the I in lA), then press the mouse
button. The computer moves the
cursor to that line. Next, move the
mouse pointer to the word INSERT
and press the button again. The zip
code data reappears in the desired
screen area.
Mouse Editing Functions
Here is a more detailed description
of the mouse-editing functions
demonstrated in Program 1:
Mouse pointer and text cursor.
The rapidly blinking caret symbol
(") is the mouse pointer, which you
can move around the text screen
with the mouse. When the pointer
passes over a character, the charac-
ter blinks rapidly. The flashing rect-
74 COMPUni April 1986
angle shows the position of the text
cursor. When the cursor passes over
a character, the character changes
temporarily to flashing uppercase.
There are three different ways to
move the text cursor:
• Move the mouse pointer to the
spot where you want the text cursor
to go, then press the mouse button.
• Use the arrow keys as you would
in Applesoft BASIC (the Apple 11
uses CTRL-J and CTRL-K to move
up and down, respectively).
• Press RETURN to move the cursor
to the beginning of the next screen
line. If the cursor is already on the
bottom line, it moves to the top.
Pressing RETURN does not erase
the text to the right of the cursor.
Enter text. Text is entered as usual,
by pressing any letter, number, or
punctuation key. Lowercase letters
are automatically converted to
uppercase.
Define text. Before text can be cop-
ied or deleted, you must define it.
Move the mouse pointer to the
upper-left comer of the text you
want to define, then press and hold
the mouse button. While pressing
the button down, drag the mouse
pointer to the lower-right corner of
the desired area. The computer
marks the defined area by high-
lighting every character with in-
verse video, Now release the
button: The area is defined, aiid
you may proceed to the Cancel,
Delete, or Copy options.
Delete text. To delete a text area
that you previously defined, move
the mouse pointer to DELETE in
the strip menu at the bottom of the
text screen, then press the button.
The computer blanks out the high-
lighted portion of the screen and
stores the first 200 characters of the
defined area in a temporary buffer
for later use.
Copy text. To copy a text area that
you have previously defined, move
the pointer to COPY in the strip
menu, then press the button. The
computer stores the first 200 char-
acters of the defined area in a tem-
porary buffer. Unlike the Delete
operation. Copy does not blank out
the defined area.
Insert text, To insert text that you
previously copied or deleted, move
the pointer to the spot where you
want to insert text, then press the
button to locate the cursor at that
spot. Now move the pointer to IN-
SERT in the strip menu and press
the button again. The computer in-
serts the text, using the text cursor
position as a starting point. Note
that the inserted text overwrites
whatever else was in the affected
area. You can insert only the most
recently copied or deleted text.
Cancel. If you define a block of text
and then decide not to copy or de-
lete it, move the pointer to CAN-
CEL in the strip menu and press the
button. The highlighting disap-
pears, and the text is no longer
defined.
Editing keys. Press CTRL-D (or
DELETE on the Apple lie and He) to
delete the character under the cur-
sor. The remaining characters in
that line move one space to the left.
You can also press CTRL-X to de-
lete every character from the pre-
sent cursor position to the end of
the line.
Try out the various editing
functions. When you've tried ev-
erything, move the mouse pointer
to DONE in the strip menu and
press the button. The demonstra-
tion program ends with a routine
that reads the current data directly
from the video screen.
Since the Copy, Delete, Insert,
and Cancel commands are written
in BASIC, they may take a second
or two to complete if you define a
large text area. Though BASIC can't
perform such operations very fast,
these routines are far easier for you
to customize than if they had been
written in machine language. If the
slowness bothers you, just imagine
how long it would take to delete the
same amount of text with your
trusty pink eraser.
Joystick Modifications
If you don't own a mouse, you can
substitute a joystick. Delete lines
120, 130, 10001-10090, 10200,
20220, and 44000-44050 from Pro-
gram 1; then add or modify the
lines in Program 4. The joystick
moves the mouse pointer around
the screen, and the joystick button
substitutes for the mouse button.
Since the joystick was de-
signed for a different purpose, its
performance doesn't equal that of a
mouse. But it costs a lot less.
How Ttie Program Worlcs
The machine language routine con-
tained in the MOUSEY file simply
highlights text by changing every
character between the text cursor
and mouse pointer to inverse video.
All the other functions are carried
out by the BASIC routines in Pro-
gram 1.
After you define a block of text,
lines 35000-44050 act on the high-
lighted area. The Copy routine
(36000-36180) converts each char-
acter in the defined area to normal
video and stores it in a temporary
text buffer. This buffer lies in loca-
tions 775-1000 ($307-$3E8), a nor-
mally unused region.
The Delete routine (37000-
37180) is similar to Copy and uses
the same temporary buffer, but re-
places each character in the defined
area with a blank space.
The Insert routine (38000-
38100) moves text from the tempo-
rary buffer back to the video screen,
beginning at the current location of
the text cursor.
Lines 39000-40000 contain the
Cancel routine, which aborts copy
or delete operations. You can also
cancel a definition by pressing any
key.
The routine at lines 41000-
41070 deletes a single character;
lines 42000-42060 erase all or part
of the current line.
Here are some other useful en-
try points in the program (note that
each of these routines ends with a
GOTO rather than GOSUB):
Line
10120
10300
10420
10570
Purpose
read mouse
position mouse pointer
keyboard input
position cursor
For Instructions on entering ttiese listings,
please refer to "COMPUTEI's Guide to Typing
In Programs" in this issue of compute'.
Program 1: Advanced
Mouslfication
Bl
115 HIMEM: 37375
W
120 EOSUB 44010
1)7
130 MI = 20: REM HOUSE SENSIT
IVITY
»
140 D4 = CHR* (4)
E8
145 PRINT DS-BLOAD MOUSEY"
BE
150 REM
n
160 REM READ DATA FILE
!J
170 REM
CE 180 PRINT D*"DPErM TEXT"
April 1966 COMPUTEI 75
32 190 PRINT D*"READ TEXT"
63
10240 Yl = Y0:X1 = X0
DC
10730 POKE V0,C3
6D 200 INPUT NF*,NL*,AD*,CI$,ST*
78
10250 POKE V0,C0
51
10740 C0 = C3
,2I*,TE«
11
10255 IF C0 < 12B THEN POKE V
CE
10750 IF V0 = VI THEN C2 = C3
CD 210 PRINT D*"CLaSE TEXT"
0,C0 + 128
IC
10760 XI = XI + 1: IF XI > 39
97 220 REM
IB
10260 C0 = C2
THEN XI ■= 39
25 230 REM DATA ENTRY SCREEN
-2
10270 BDSUB 10800
67
10770 BDTO 10590
8B 240 REM
F2
10280 BDTO 10620
16
10780 REM CALCULATE V0
<F 250 HOME
69
10290 REM
6E
10790 REM (VIDEO BUFFER ADDRE
K 260 Yl = 4:X1 = 15:C0 = 160
■D
10300 REM POSITION MOUSE PGIN
S3)
35 270 INVERSE
TER
61
10800 V0 = 1023 + 12S * (Yl -
D7 2B0 PRINT " ENTER
:i
10310 REM
1) + XI
INFORMATION
DD
10315 IF B0 = 2 AND Y0 = 23 T
2B
10810 IF Yl > 8 THEN V0 = V0
2* 2B3 VTAB 23: PRINT " CDF
HEN 20081
- 994
Y DELETE INSERT CANCEL
Dl
10320 IF V0 = VI THEN C2 = CI
7F
10820 IF Yl > 16 THEN V0 = Va
"
i>
10330 POKE VI, C2
- 984
% 290 VTAB 24: PRINT " E
s;
10340 VI = 1023 + 12B » (Y0 -
BB
10830 RETURN
RASE QUIT DONE HELP
1) + X0
9A
19999 REM #20000
9
3F
10350 IF Y0 > 8 THEN VI = VI
lA
20000 REM
C4 300 NORMAL
- 9B4
AE
20010 REM STRIP MENU
31 310 VTAB 4: HTAB 1
9C
10360 IF Y0 > 16 THEN VI = VI
2A
20020 REM
F4 320 PRINT "FIRST NAME . . "
- 904
C2
20030 PRINT D»"1N#0"
Ci 330 PRINT "LAST NAME ..."
27
10370 C2 = PEEK (VI)
CB
20040 IF X0 > 8 AND X0 < 14 T
3C 340 PRINT "STREET ."
64
10380 POKE VI, 160
HEN NF» = "":NL» = "":A
Di 350 PRINT "CITY ■'
U
10390 IF C2 = 160 THEN POKE V
D« = "":CI« = "":ST* =
IF 360 PRINT "STATE "
1 ,30
"":ZI» » "":TE« = Q
36 370 PRINT "ZIP "
U
31
11
41
F9
77
10400 BDTO 10150
10410 REM
10420 REM KEYBOARD INPUT
10430 REM
10440 C3 = PEEK ( - 16384)
10450 POKE - 1636B,0
IF
73
7S
DTO 250
20050 IF X0 > 15 AND X0 < 20
THEN HOME 8 END
20060 IF X0 > 21 AND X0 < 26
THEN 30030
20070 IF X0 > 27 AND X0 < 32
THEN 20100
20080 VTAB 1: HTAB 40: PRINT
D4"IN«"S0: BDTO 10150
20081 IF X0 > 6 AND X0 < 11 T
HEN BDSUB 36010: GOTO 1
0590
20082 IF X0 > 12 AND X0 < 19
THEN GOSUB 37010: GOTO
10590
17 380 PRINT "TELEPHONE "
3« 390 VTAB 19: HTAB 10: INVERSE
: PRINT "'■"; : NORMAL
B! 400 PRINT " IS MOUSE POINTER"
3C 410 VTAB 21: HTAB 14: INVERSE
: PRINT " "; : NORMAL
38 420 PRINT " IS CURSOR"
2k 430 VTAB 4
5E 440 HTAB 15: PRINT NF»
(id 450 HTAB 15; PRINT NL*
DC
71:
10455 IF C3 > 223 THEN C3 = C
3-32: REM CONVERT TO
UPPER CASE
10456 IF SW > 0 THEN BDSUB 39
010
71
HI 460 HTAB 15: PRINT AD*
El 470 HTAB 15: PRINT CI*
Fi 4S0 HTAB 15: PRINT ST*
<3
63
10460 IF C3 > 159 THEN 10710
10465 IF C3 = 132 OR C3 = 225
THEN IF XI > 14 AND Yl
B2
71 490 HTAB 15: PRINT ZI*
> 3 AND Yl < 11 THEN G
5! 500 HTAB 15: PRINT TE«
OSUB 41010
5F
200B3 IF X0 > 28 AND X0 < 35
73 9999 REM #10000
lA
10466 IF CZ = 152 THEN IF XI
THEN GOSUB 39010: BDTO
19 10000 REM
> 14 AND Yl > 3 AND Yl
10590
ri i ffitJ^^1 DtTM —
< 11 THEN SOSUB 42010
54
20084 GOTO 10150
Ld 11310131 Ktn —
29 10010 REM MOUSE ROUTINES
CD
10470 IF C3 = 141 THEN XI = I
!7
20090 REM HELP TEXT
r 1 t ,^j^i-iyv r-i.i— ■kj
5:Y1 = Yl + 1: IF Yl >
CD
20100 VTAB 12: HTAB 1
to ivjiozis Ktn ' — "^
37 10040 REM
10 THEN Yl = 4: REM RET
BA
20110 PRINT "THE FLASHING REF
M 10050 REM TURN MOUSE "ON"
URN KEY
LEX C^) IS THE MOUSE"
« 10060 REM
59
10480 IF C3 = 138 THEN ¥1 = Y
75
20120 PRINT "POINTER AND THE
(8 10070 PRINT D»"PRI»"S0: PRINT
1+1: REM DOWN ARROW
FLASHING RECTANGLE IS"
CHR* (1)
C2
10490 IF C3 = 139 THEN Yl - Y
4B
20130 PRINT "THE CURSOR. TO
CB 10080 PRINT D*"PR#0"
1 -1: REM UP ARROW
MOVE THE CURSOR TO THE"
(9 10090 PRINT D«"IN#"S0
BF
10500 IF C3 = 149 THEN XI = X
3i
20140 PRINT "ENTRY YOU WANT T
17 10100 GOTO 10590
1+1: REM RIGHT ARROW
0 CHANGE, USE THE ARROW
25 10110 REM
71
10510 IF C3 = 136 THEN XI = X
"
65 10120 REM DETERMINE POSITION
1 - 1: REM LEFT ARROW
4E
20150 PRINT "KEYS OR USE THE
91 10130 REM OF MOUSE
Si
10520 IF Yl > 24 THEN Yl = 24
MOUSE TO MOVE THE MOUSE
3D 10140 REM
DC
10530 IF Yl < 1 THEN Yl = 1
"
IC 10130 VTAB 1: HTAB 40
9C
10540 IF XI > 40 THEN XI = 40
47
20160 PRINT "POINTER, THEN PR
77 10160 INPUT "";X0,Y0,B0
£B
10550 IF XI < 1 THEN Xl = 1
ESS THE MOUSE BUTTON TO
7D 10170 IF B0 < 0 THEN 10440: R
5D
10560 REM
"
EM KEY PRESSED?
16
10570 REM POSITION CURSOR
E6
20170 PRINT "MOVE THE CURSOR
Dt 101B0 Y0 = INT (Y0 /MI) + 1
6D
10580 REM
TD THAT POINT. TYPE"
76 10190 IF Y0 > 24 THEN Y0 = 24
A4
10590 POKE V0,C0
EA
20180 PRINT "NEW OR CORRECTED
6t 10200 X0 ~ INT fX0 / MI) + 1
a
10600 BDSUB 10800
DATA, THEN MOVE THE"
75 10210 IF Xe > 40 THEN X0 = 40
42
10610 C0 = PEEK (V0)
31
20190 PRINT "MOUSE CURSOR TO
iH 10215 IF B0 = 2 AND X0 > 20 A
9E
10620 IF V0 = VI THEN C0 = C2
'DONE' IN THE MENU"
ND X0 < 27 AND Y0 = 23
44
10630 REM CHANGE TO FLASHING
4A
20200 PRINT "BELOW AND PRESS
THEN 38010
CHARACTER
THE MOUSE BUTTON TO"
6D 10216 IF B0 = 2 AND SH = 0 TH
B7
10640 CI = C0
D4
20210 PRINT "ACCEPT THE ENTRI
EN X2 = X0:Y2 = Y0: POK
23
10650 IF CI > 127 THEN CI = C
ES ABOVE. "
E 76B,Y2: POKE 769, X2: X
1 - 64
D9
20220 PRINT D*"IN»"S0
3 = X0:Y3 = Y0
7F
10660 IF CI > 64 THEN CI = CI
D3
20230 GOTO 10150
9B 10217 IF B0 = 3 AND SW = 2 TH
- 64
9D
29999 REM #30000
EN SW = 3
HI
10670 IF CI > 95 THEN CI » CI
IB
30000 REM
31 1021S ON SW BDTO 35010,35020,
- 32
28
30010 REM EXAMPLE
10315
4B
10680 IF CI < 64 THEN CI = CI
2e
30020 REM
«S 10220 IF 80 > 1 THEN 10320: R
+ 64
Al
30030 Yl = 4: BOSUB 63050: NF*
EM BUTTON PRESSED?
CB
10690 POKE V0,C1
= A*
D5 1022S IF X2 < > X0 OR ¥2 < >
CE
10700 GOTO 10150
2C
30040 Yl = 5: GOSUB 63050: NL$
Y0 THEN SW = 1: JGOTO 35
6B
10710 IF XI < 15 OR Yl < 4 OR
= A*
010
Yl > 10 THEN 10150
91
30050 Yl = 6: GOSUB 63050: AD*
i1 10230 IF Y0 = 24 THEN 20030
DE
10720 G05UB 10800
= A*
76 COMPUTEI April 1936
April 1966 COMPUTEl 77
5C 10190 DflTfl 0,141,36,146,173,5
73,31
CE
11020 DATA 28,208,9,173,61,14
.3
8F 10610 DATA 146,141,63,146,173
6,201
2C 10200 DATA 141 , 39, 146, 16"?, 0, 1
,32,146
U
11030 DATA 8,144,19,240,17,56
41,40
8« 10620 DATA 141,64,146,173,64,
,173
83 10210 DATA 146,173,29,146,141
146,205
%
11040 DATA 57,146,233,216,141
,61,146
% 10630 DATA 40,146,48,15,208,1
,57, 146
Ce 10220 DATA 173,30,146,141,62,
0,173
DF
11050 DATA 173,58,146,233,3,1
146,173
3C 10640 DATA 63,146,205,39,146,
41,58
IB 10230 DATA 62,146,205,34,146,
144,5
EC
11060 DATA 146,173,62,146,201
4B, 15
A! 10650 DATA 240,3,76,108,148,3
,0,48
15 10240 DATA 208,10,173,61,146,
2,122
Ft
11070 DATA 28,208,9,173,61,14
205,33
FF 10660 DATA 148,173,57,146,141
6,201
22 10250 DATA 146,144,5,240,3,76
,220,147
EF
11080 DATA 16,144,19,240,17,5
, 134
CB 10670 DATA 173,58,146,141,221
6,173
D5 10260 DATA 147,173,31,146,141
,147, 173
IE
11090 DATA 57,146,233,216,141
,63,146
2C 10680 DATA 20,7,141,59,146,16
,57,146
75 10270 DATA 173,32,146,141,64,
9,0
U
11100 DATA 173,58,146,233,3,1
146, 173
fl7 10690 DATA 141,60,146,173,60,
41,58
BB 10280 DATA 64,146,205,36,146,
146,201
35
11110 DATA 146,96,104,133,118
40, 15
57 10700 DATA 0,48,28,208,9,173,
, 104, 133
7F 10290 DATA 208,10,173,63,146,
59
IC
1U20 DATA 217,104,141,89,170
205,35
B4 10710 DATA 146,201,127,144,19
, 169, 141
n 10300 DATA 146,144,5,240,3,76
,240,17
47
11130 DATA 141,1,2,169,1,133,
,123
B! 10720 DATA 56,173,59,146,233,
52
fB 10310 DATA 147,24,173,37,146,
64,141
9A
11140 DATA 96,133,137,132,135
105,1
i7 10730 DATA 59,146,173,60,146,
,134,136
i1 10320 DATA 141,65,146,173,38,
233,0
Bl
11150 DATA 169,0,133,133,133,
146,105
S3 10740 DATA 141,60,146,173,60,
134,70
2A 10330 DATA 0,141,66,146,24,17
146,201
81
11160 DATA 136,102,135,144,13
3,39
7f 10750 DATA 0,48,28,208,9,173,
,24,165
BE 10340 DATA 146,105,1,141,67,1
59
BE
11170 DATA 137,101,133,133,13
46, 173
IC 10760 DATA 146,201,64,144,19,
3,165,138
13 10350 DATA 40,146,105,0,141,6
240, 17
EC
11180 DATA 101,134,133,134,6,
9,146
Ml 10770 DATA 56,173,59,146,233,
137,38
ai 10360 DATA 173,62,146,205,66,
64, 141
B!
11190 DATA 138,165,136,5,135,
146,48
IF 10780 DATA 59,146,173,60,146,
208,227
« 10370 DATA 10,208,29,173,61,1
233,0
SB
11200 DATA 164,133,166,134,96
46,205
ft! 10790 DATA 141,60,146,173,60,
, 133,134
FJ 103B0 DATA 65,146,176,21,173,
146,201
FE
11210 DATA 132,135,160,0,169,
64,146
5! 10800 DATA 0,48,28,208,9,173,
0, 145
iE 10390 DATA 205,68,146,43,10,2
59
BB
11220 DATA 133,200,208,2,230,
0B, 11
E7 10810 DATA 146,201,64,144,19,
134, 138
B2 10400 DATA 173,63,146,205,67,
240,17
2C
11230 DATA 208,4,198,135,48,4
146, 176
M 10820 DATA 56,173,59,146,233,
, 202
1Z 10410 DATA 3,76,112,147,32,12
64, 141
5B
11240 DATA 76,83,149,96,0,0
2,14B
11 10830 DATA 59,146,173,60,146,
U 10420 DATA 173,57,146,141,51,
233,0
Program 3: TEXT Filemaker I
147,173
IS 10840 DATA 141,60,146,173,57,
n 10430 DATA 58,146,141,52,147,
146, 141
51
10 D* = CHR* (4)
173, 144
39 10850 DATA 95,148,173,58,146,
17
20 PRINT D*"OPEN TEXT"
«4 10440 DATA 7,141,59,146,169,0
141,96
CF
30 PRINT DiS"WRITE TEXT"
,141
5S 10860 DATA 148,173,59,146,141
EA
40 PRINT "COMPUTE!"
2"! 10450 DATA 60,146,173,60,146,
,20,7
7E
50 PRINT "READER SERVICE"
201,0
92 10870 DATA 238,63,146,208,3,2
89
60 PRINT "P.O. BOX 50950
02 10460 DATA 48,9,208,24,173,59
38,64
EJ
70 PRINT "DES MOINEB"
, 146
ID 10880 DATA 146,76,181,147,238
tA
80 PRINT "I A 50950"
9E 10470 DATA 201,128,176,17,24,
,61,146
n
90 PRINT ■"•
173,59
FA 10890 DATA 208,3,238,62,146,7
E9
100 PRINT "1-800-346-6767"
tl 10480 DATA 146,105,128,141,59
6,146
DA
110 PRINT Dt"CLOSE"
, 146,173
43 10900 DATA 147,76,11,149,56,1
Ed 10490 DATA 60,146,105,0,141,6
0, 146
73,61
EO 10910 DATA 146,233,1,141,57,1
Program 4: Joystick
4B 10500 DATA 173,57,146,141,110
46, 173
Modifications
, 147,173
lA 10920 DATA 62,146,233,0,141,5
% 10510 DATA 58,146,141,111,147
8, 146
FC
265 B0 - 4
, 173,59
4C 10930 DATA 169,0,133,138,169,
C8
10150 X0 = PDL (0)
5D 10520 DATA 146,141,144,7,238,
128,174
«4
10160 Y0 = PDL (1)
63, 146
E9 10940 DATA 58,146,172,57,146,
78
10161 Bl = PEEK < - 162B7)
?F 10530 DATA 208,3,238,64,146,7
32,31
21
10162 IF Bl < 128 AND B0 = 3
6, 195
4! 10950 DATA 149,142,58,146,140
THEN B0 = 4
BE 10540 DATA 146,238,61,146,208
,57,146
21
10163 IF Bl < 128 AND B0 ■= 2
,3,23B
3B 10960 DATA 24,169,255,109,57,
THEN B0 = 3
K 10550 DATA 62,146,76,160,146,
146, 141
29
10164 IF Bl < 128 AND B0 = 1
173,29
97 10970 DATA 57,146,169,3,109,5
THEN B0 = 3
9B 10560 DATA 146,141,61,146,173
8,146
25
10165 IF Bl > 127 AND B0 = 2
,30,146
fB 10980 DATA 141,58,146,24,173,
THEN B0 = 1
28 10570 DATA 141,62,146,173,62,
57,146
4D
10166 IF Bl > 127 AND 80 = 4
146,205
58 10990 DATA 109,63,146,141,57,
THEN B0 = 2
DS 10580 DATA 38,146,48,15,208,1
146,173
21
10170 IF PEEK ( - 163B4) > 12
0,173
IF 11000 DATA 58,146,109,64,146,
7 THEN 10440
19 10590 DATA 61,146,205,37,146,
141,58
A9
10180 Y0 = INT (Y0 / 10} + 1
144,5
C* 11010 DATA 146,173,62,146,201
81
10190 X0 = INT (X0 / 6) + 1
43 10600 DATA 240,3,76,119,148,1
,0,48
32
20030 REM (Q
76 COMPUTEI April 1986
IBM Variable Snapshot
Tony Roberts, Production Director
This programming utility lets you list
the current values of all active vari-
ables in any BASIC program — an in-
valuable aid for debugging. It works
on any IBM PC with BASICA or PCjr
with Cartridge BASIC.
When things go haywire with a
BASIC program, my first inclina-
tion is to check the variables:
PRINT A$, PRINT SCORE, PRINT
UPPERLIMIT, and so on. Compar-
ing what's actually stored in a vari-
able with what you expected often
helps to isolate programming
problems.
Printing variable values over
and over, however, quickly be-
comes tedious, especially when ar-
rays are involved. "IBM Variable
Snapshot" takes the work out of
this process.
After temporarily appending
the Variable Snapshot utility to
your program, you can activate it
with a simple GOTO command
whenever your program stops with
an error or you press the BREAK
key. Once activated. Variable Snap-
shot sifts through memory, printing
out first the scalar variables, then
the array variables it finds there.
Within seconds, you can see the
values of all the variables your pro-
gram has used. This kind of analy-
sis has many benefits;
• By frequently checking the
variable list, you reduce the possi-
bility of "forgotten" variables.
• You can quickly spot typo-
graphical errors in variable names.
If the list contains both FILE-
NAMES and FILENAMS, you'll re-
alize something is wrong.
• By checking variable types as
well as names, you'll notice if the
list contains both TOTAL% (an
integer variable) and TOTAL! (a
single -precision variable) — another
common source of errors.
How To Take Snapshots
Type in Program 1 below and save
it on disk in ASCII format. If you
type it in with the "IBM Automatic
Proofreader," published elsewhere
in this issue, the program is saved
in ASCII format automatically.
Otherwise, use the command SAVE
"SNAPSHOT.ASC",A.
Program 2 lets you test Vari-
able Snapshot to verify that it's
working properly before using it
with your own programs. To run a
test, type in Program 2 and save it
on disk in ASCII format. Then ap-
pend Snapshot to it with the com-
mand MERGE "SNAPSHOT.ASC."
Now type RUN. The test program
initializes several variables, then
stops. When you type GOTO 1000
(the starting line number of Vari-
able Snapshot), the name and value
of each variable is printed on the
screen. You can press CTRL-NUM
LOCK on the PC or Fn-Q on the
PCjr to pause the display, or stop it
at any time by pressing CTRL-
BREAK on the PC or Fn-BREAK on
the PCjr.
If the variable values are not
what you expected, recheck your
typing, paying close attention to the
type declaration symbols (%, $, !, #)
attached to the variables. If even
one of these symbols is incorrect or
missing, you'll have problems.
The test program initializes
integer, string, single-precision,
and double-precision variables as
well as a full set of array variables.
If everything prints out as expected,
you can be pretty sure that Variable
Snapshot is working well.
Friendly Filename And
Quick Start
When Snapshot begins its work,
the first thing it prints is the active
disk filename, which the IBM stores
in the 11 memory locations begin-
ning at 4Flh (1265 decimal). This
has nothing at all to do with vari-
ables, but simply provides an an-
swer to the question "What did 1
call this program the last time I
saved it?"
If you want to get started with
Snapshot quickly, you can omit the
entire array processing section
(lines 1590-2220) and change line
1280 to read:
1280 IF QARRAYONVo THEN END
This abbreviated version of
Snapshot lists only simple vari-
ables, but you can go back later and
add the lines to handle the array
April 19B6 COMPUTEI 79
Variable
Description
Q%,QQ%,QQQ%
loop counters
QTYPE%
variable type
QLENLEFT%
number of characters left in variable name
QDIMS%
number of dimensions in array
QARRAYON%
flag indicating if array boundary passed
QSTRLEN%
length of string variable
QBASE%
status of OPTION BASE command
QS
for single- and double-precision conversions
QCHAR$
builds active filename
QFILE$
active filename
QNAMES
name of variable being processed
QVAR!
memor>' pointer to current variable
QARRAY!
start of array space
QFREE!
start of free space
QA5IZE!
size of current array
QVALUEf
temporary storage for integer values
Q5TRPTR!
points to location of actual string
QPTR!
points to start of next element in array
QDIMSIZE( )
size of array dimensions
variables. The REMs in the program
listing are not referenced by other
lines, so you can safely omit them
when typing the program.
After you have Snapshot
working, edit line 1000 to suit your
preferences for screen color, width,
and so on.
You may want to renumber
Snapshot so its line numbers won't
interfere with those of your own
programs. (Low line numbers were
used in the listing to make entering
the program easier.) Load the pro-
gram into memory and use the
command RENUM xxxxx, where
xxxxx is Snapshot's new starting
line number. Then save the pro-
gram back to disk, again using the
ASCII option so Snapshot can be
merged other programs.
The version I use begins at line
60000, and I've programmed a
function key to execute the com-
mand GOTO 60000. Whenever a
program halts, I simply press Fn-6
to see the value of every variable.
Array Bases
IBM BASIC includes the OPTION
BASE statement for defining the
lowest-numbered element in an ar-
ray. If a program contains the state-
ment OPTION BASE 0, or if no
OPTION BASE statement is includ-
ed, all arrays start with a 0 element.
An OPTION BASE 1 statement
means that arrays begin with ele-
ment 1.
Variable Snapshot must know
which OPTION BASE is in effect to
display array values properly.
Memory location 45Ch (1116 deci-
mal) provides this information.
PEEKing that address yields either
a 0 or 1, indicating which base is
selected.
The adjacent memory location,
45Dh (1117 decimal), is related but
a little more specific. If no OPTION
BASE command has been issued,
45Dh contains a 0; if OPTION
BASE 0 has been executed, 45Dh
contains a 1; and if OPTION BASE
1 has been executed, the location
contains a 2.
Try changing line 10 in Pro-
gram 2 to read OPTION BASE 0
and observe the effect when run-
ning Variable Snapshot.
Although IBM BASIC allows
arrays of up to 255 dimensions, few
programs make use of more than
one or two. For this reason. Vari-
able Snapshot does not include pro-
visions for arrays with more than
two dimensions. Additional loops
can be added to handle more com-
plex arrays, if necessary.
A Few Cautions
To be truthful. Snapshot does not
list every variable — it ignores those
that begin with the letter Q. The
Snapshot routine itself, you'll no-
tice, uses only variables beginning
with the letter Q. That keeps Snap-
shot's own variables from being
printed along with those of your
program.
If you're inclined to tinker with
this routine, you must be careful
about introducing new variables.
Lines 1020-1040 initialize every
variable used by the routine, effec-
tively reserving space for them in
the variable table.
Lines 1120-1140 determine
the boundaries of the variable table,
reference points the program can-
not do without. If a new variable is
added to the program after the
boundary measurements are taken,
confusion results; the boundaries
move and Snapshot loses its way.
Although Snapshot works
with most programs, there can be
complications. If you've written
your program to make use of all
available memory, there won't be
room in the variable table for Snap-
shot's own variables. You'll need to
leave Snapshot about 300 bytes of
workspace.
How Snapshot Works
As mentioned above. Snapshot
reads the boundaries of the scalar
variable area, the array variable
area, and the free space area, then
works its way through the variable
areas byte by byte deciphering the
information stored there. Once it
reaches free space, its work is
finished.
The IBM stores scalar variables
as shown below.
Following the last character of
the variable name is the value of
the variable.
• An integer variable is stored
in two bytes in the standard low
byte/high byte format. The high bit
of the second byte indicates the
sign of the integer. If it is set, the
integer is a negative number.
Byte 1 = type (2 = integer, 3 = string, i — single precision, 8 = double
precision)
Byte 2 " first character of variable name
Byte 3 = second character of variable name
Byte 4 = number of characters remaining in variable name
Byte 5
. = rest of variable name (high bit set)
SO COMPUTE! April 1986
• String variable pointers are
stored in three bytes. The first is the
number of bytes in the string, and
the second and third point to the
address (either in the string pool or
in the BASIC program area) where
the string is stored.
• Single-precision variable val-
ues are stored in four bytes. The
values of these bytes can be concat-
enated into a string, then converted
into a single-precision number
using the CVS function.
• Double-precision variables
occupy eight bytes, which can be
concatenated and converted as
above using the CVD function.
Array variables are stored sim-
ilarly, but there's some additional
information between the end of the
variable name and the actual begin-
ning of the variable values.
Following the variable name
are two bytes that indicate the total
size of the array. The next byte
holds the number of dimensions.
That is followed by two bytes de-
scribing the number of elements in
the last dimension. Then two bytes
describe the number of elements in
the next to last dimension, and so
on, until each dimension in the ar-
ray has been defined.
Finally, the values of the array
variables follow, and are stored in
the same manner as values for sca-
lar variables.
Using this information, the
program listing, the deecription of
Snapshot variables found in the ac-
companying table, and the actual
program output, you should be able
to develop a good understanding of
how BASIC treats your variables.
For instructions on entering Itiese listings,
please refer to "COMPUTEI's Guide to Typing
In Progroms" in this issue of compute'.
Program 1;
Snapshot
IBM Variable
U leoa DEF SEG: SCREEN a, 0: WIDTH B0:CQ
LOR 7,0:
BB iei0 REM initialize variables
C6 1020 a-/.'0:aQ'/.=0!QaQX=0:aLENLEFT7.=e:
aTYPE7.=0:QDIMSj'.=0:aflRRfiVQN7.=0:
QSTRLEN7.=0: DB ASE7.= 0 : GD I MS I ZE7. 1
1)=»:QDIMSIZE(21=0
LS 1030 E»="":ncHAR«="":QFILEt="":DNflK
E«=""
flJ iei0 □UflR!=0:DflRRAV!=0:OFREE!=0:OAS
I ZE ! =0: QVflLUE ■ =0: QSTRPTR ! =0: QP
TR!=0
ES 1050 REM Bet active filename
Oi 1060 FDR ax=e TO 10
B9 1070 DCHAR«=CHR*(PEEK(SiH4Fl+D7.) )
P« iaB0 IF flSC(aCHAR*)>9i!i AND ASCCQCHfi
»H 1090
LI 1100
CB 1110
n 1 120
HI 1130
KB 1140
NF 1150
M 1160
CH 1170
JO 1180
LS 1190
PH 1200
t> 1210
U 1220
EC 1230
HJ 1240
BP 1250
HE 1260
0! 1270
12B0
1290
R»)<123 THEN QFILE»-DFILE*+CHR
»<ASC(nCHflR*)-32) ELSE DFILE*'
GFILE«+DCHAR«
NEXT
PRINTiPRINT "Active disk -filen
ame Is: ";MID» (DFILE», 1,8) ; ",
"imD»(QFlLE»,9>:PRINT
REIi get addresses of scalar va
rlables, array variables, and
free space
QVAR ! =PEEK ( tH358) +PEeK (1H359) »
256
QflRRflY ! =PEEK (&H3SAJ +PEEK (S.H35B
!I2S6
QFREE ! ^PEEK ( S,H33C) +PEEK < !<H35D >
t25b
GBASE7.=PEEK (t.H45C)
REM Start ai variable pracessi
ng
QT¥PE7.=PEEK (QVAR •. >
IF (QTVPEy.<2 OR DTYPE7.>4) AND
QTYPEXOB THEN END
QLENLEFT7.=PEEK (QVAR ! +3)
REM get variable name
nNAME*=""
IF PEEK {QVAR : -H ) >127 OR IPEEKC
QVAR! + n-ai AND QARRAyONX=0) T
HEN 2240
FOR 07,= 1 TO aLENLEFT7.
ONAME»=QNAME»+CHR« (PEEK (QVAR! +
3+Q7.) AND 127)
NEXT
QNA«E«=CHR» (PEEK (QVAR H- 1 ) ) +CHR
* (PEEK IQVAR: 1-21 )tONAHE»
REM branch to appropriate rout
ine depending on varlabla type
IF 0ARRAYDN7. THEN 1600
ON QTYPE7.-1 BOTO 1320,1370,146
0
SOTO 1530
REM inteters
0 VALUE I -PEEK (OVAR ! +DLENLEFTr.+4
> +PEEK ( QVAR ! +QLENLEFTr.+S ) » 256
IF DVALUE ! >32768 I THEN QVALUEI
-QVALUE ! -6SS36 !
PRINT ONAflEt; "%";,"= "j QVALUE!
GOTO 2240
REM strings
PRINT ONAME»! ■«","- "(CHR«»34
>!
Q3TRLEN7.=PE£K(OVflR'+(3LENLEFT7.+
4>
(3STRPTR : -PEEK (QUAR I +QLENLEFT7.+
5) +PEEK (QVAR I +QLENLEFTy.+6) »236
FOR D7.=0 TO QSTRLEN7.-1
PRINT CHR* (PEEK (QSTRPTR ! +QX) > ;
NEXT
PRINT CHR»(34)
GOTa 2240
REM single precision
0*=""
PRINT DNAME*;" ! ","= ";
FOR 07.-0 TO 3: Q»=Q»-«-CHR» (PEEK
(QVAR ! ■•■QLENLEFT7.+4+aX) )
NEXT
PRINT CVS(D«)
GOTO 2240
REM double precisian
D«=""
PRINT (JNAMEt; "tt", ■'.= " ;
FDR 07.-0 TD 7: n»=0«+CHR» (PEEK
(DVAR:+QLENLEFT7.+4+a7.) )
NEXT
PRINT CVDfO*)
(iOTQ 2240
REM array routine?!
QASI ZE ! =PEEK (DVAR ' +4+(3LENLEFT7.
) +PEEK (DVAR >. tS+QLENLEFT7.) »2a6
IF ASC(QNAME»)"8« THEN 2240
QDIMS7.-PEEK (DVAR ' f 6+DLENLEFT7.)
IF QDIM3y.>Z THEN 2240
QPTR ! =QVAR '. +7+0LENLEFTX
FOR 07.-QDIHS7. TO 1 STEP -t
QDIMSIZE7. <07.)=PEEK(aPTR' ) +PEEK
(QPTRI+1) «256
(3PTR ! =aPTR ! +2
NEXT
DN aTYPE7.-l GOTO 1720,1830,198
KI 1700 BOTO 2110
OL 1710 REM integer arrays
M 1720 PRINT
BL 1730 IF DDIMSX^Z THEN FOR QQDX-QBAS
E7. TO DDIMBIZE7. [2> + (DBASE7.-0)
Sr 1740 FOR QK-aBASE7. TO 0Din3IZE7. (1 ) +
(QBASE7.-0)
H 1750 QVALUE i -PEEK (QPTR !)+PEEK{(iPTR!
+1)*256
a 1760 IF 0VALUE'>3276BI THEN QVALUE!
=QVALUE 1 -65536 !
NP 1300
FN 1310
EC 1320
W 1330
K 1340
NC 1350
FE 1360
PH 1370
S» 1380
lie 1390
GJ
1400
PB
1410
DC
1420
Gl
1430
W3
1440
PJ
1450
PL
1460
FE
1470
cn
1480
(P
1490
BB
1500
M(
1510
KB
1S20
K
1S30
HH
1540
M
1550
El
1560
FE
1570
CP
1580
K
1590
JB
1600
Ji
1610
tt
1620
I!
1630
iL
1640
KS
1650
H
1660
IE
1670
It
1680
JE
1690
OJ
17B0
Jn
1790
EH
1800
M
1810
M
1820
AS
1830
M
1840
St
1850
IE
1860
(A
1870
CD [880
ct
1B90
hf
1900
H
1910
6P
1920
CA
1930
11
1940
ei
1950
01
1960
EL
1970
IK
1960
CI
1990
EP
2000
V
2010
w
2020
CI
2030
Gt
2040
AN
20S0
IF QDIMS7.-1 THEN PRINT QNAME«;
"7.(";MID»(STR»(t37.) ,2) i") ■■,"- "
;QVALUE! ELSE PRINT QNAME*;"7.(
";MID»iSTR»(OX) ,2) ;", ";MID«[ST
R*(OaOy.) ,2); ")","- "J QVALUE!
QPTR 1 »aPTR ! +2
NEXT 07.
IF DDIMS7.-2 THEN NEXT DQ07.
GOTO 2Z40
REM string arrays
PRINT
IF QDIMSX-2 THEN FOR Q0Q7.-QBAS
EX TO DD1MSIZE7, (2)-i-(aBflSEX-0)
FOR aX-G!BflSE7. TD QDIMSIZEXd)*
(aBA3E7,-0)
QSTRLENX"PEEK (QPTR ! )
QSTRPTR ! -PEEK (QPTR ! + I ) +PeEK ( DP
Tf?! +2)1236
IF QDIMS7.= 1 THEN PRINT ONAME*;
"•<";MID»(STR»(QXI ,21; "i", "= "
!CHR»(34>; ELSE PRINT (3NAME»; "
»(";mD»(STR*(DX) ,2) 5 " , "i MID* (
STR»<QOQX) ,2) ;■■) ","~ "iCHR»(34
>i
FDR QQ7.-0 TO QSTRLENX-1
PRINT CHR*(PEEK(QSTRPTR!+00%) 1
i
NEXT OQX
PRINT CHR* (34)
QPTR'=apTR!t3
NEXT QX
IF QDIMS7,'-2 THEN NEXT QOQX
BOTD 2240
REM singld precision arrays
PRINT
IF DDlMSX-2 THEN FDR DQQ7.»0BAS
EX TO QDIMSIZEX(2)+(DBASEX-0)
FDR a7.-aBASEX TO QDIMSIZEy.( 1>*
<DBASE%-0)
Q*=""
FOR 007.-0 TO 3
Q*-0»+CHR» ( PEEK ( QPTR ! +BOX ) )
NEXT OQX
IF QDIMBX-'l THEN PRINT QNAME*]
" ! <";MID»(STR»(DX) ,2);")", "- "
;CVB(Q*1 ELBE PRINT QNAME*; "!(
"iMlD»(STR»(D%) ,2) i", "MID»(STR
• (QOQX) ,2) ;")", "■= "iCVS(Q*)
QPTR'=DPTR!+4
NEXT OX
IF ODIMSX-2 THEN NEXT DQQV.
GOTO 2240
REM double precision arrays
PRINT
IF QDIMSX-2 THEN FDR QQQX-DBAS
EX TO QDI113IZEX<Z> + (QBfl3EX-0)
FDR QX-QBASEX TD DDIMSIZEX ( 1) +
(□BASEX>0)
Q»«""
FOR Qnx=0 TO 7
Q«-Q«*CHR» I PEEK (OPTR I +QQX] )
NEXT 007.
IF 0DIMS7.-1 THEN PRINT QNAME*;
"ll(";MID»<STR*(QX>,2); "l", "- "
|CVD(Q») ELSE PRINT DNAME*; "«(
■■;M1D*(STR«(DX) ,2) J " , "; MID* (ST
R*(aQaXl ,21 ; '■] ","- ";CVD1Q*)
QPTR ! =QPTR • +8
NEXT QX
IF DDlttS7."2 THEN NEXT OOQX
GOTO 2240
REM (Jet address of neat variab
1>
IF QARRAYONXOl THEN QUflR!=DVA
R ! +0LENLEFTX+DTYPEX+4 ELSE QVA
R ! -DVAR ! +Qft3 IZE!l-aLENLEFTX*6
Hit 2250 IF DVAR!->DARRAY! THEN QARBAYO
Ny.-i
US 2260 IF QVARI->OFREE! THEN END
OH 2270 GOTO 1170
Program 2: Snapshot Demo
BL 10 REM Snapshot demo program
«S'20 OPTION BASE 1
U 30 AX-2:A*-"This is a string. ": A ' =1
0000 l!:A»=345692eil«
lA 40 DIM INTEBERX(5) ,STRIN«(5), SINGLE
! (5) .DOUBLE* (51
8!l 50 DIM IGRX(5,3) ,3TN«(5,3) ,SNG! (5,3
) ,DBL«(3,3)
IJ 60 FOR 1 = 1 TO 5: INTEBERX(I)=I:STRIN
»(I)-CHR*(64+I) iSINQLE! (I)-I»300
00:DOLIBL£*I<I)-I»1.5E+07:NEXT I
K 70 FDR I-l TO 5:F0R J=l TD 3:IGRX(I
,J>-I+J:STN»(I,J) =[:HR« ( I ■1-64 1 +CHR
«(J+4a!:SNG! ( I , J) -100>It J: OBLtt (I
,J)-I/JtNEXT J, I _
'.<■ 80 END '&
n 2060
II 2070
FA 20B0
OJ 2090
US 2100
PB 2110
DH 2120
n 2130
SA 2140
DO 2150
W 2160
m 2170
C) 2180
EH 2190
HI 2200
EP 2210
HI 2220
BH 2230
IH 2240
April 1986 COMPUTEI 81
ATARI
TEXTDUMP
Here's a short, simple utility that
quickly dumps a GRAPHICS 0 screen
to a printer. It works with all
400/800, XL, and XE computers.
I've always wanted the capability to
dump a copy of a text screen to my
printer. I also wanted this capability
available from BASIC. My efforts to
find such a program were fruitless.
So, the only solution was to write
one myself.
There were several require-
ments I established: 1) It should be
fast — written in machine language.
2) It should sit in a relatively safe
location in memory, surviving sys-
tem resets. 3) It should always be
ready to do its job, whether called
in direct mode or from within a
program. 4) It should be easy to
use.
The result is "Atari Text-
dump." You can make your own
copy of Textdump by typing in the
program listing below. It creates an
AUTORUN.SYS file on disk that
automatically loads Textdump into
memory page 6 (address 1536)
when you boot the system from
that disk. To call the routine, make
Ralph Johnson
sure your printer is online and enter
this statement:
A = USRa536)
This works in both direct mode
or within a program.
If you don't have a disk drive,
or if you don't want Textdump to
load as an AUTORUN.SYS file, de-
lete lines 10-1000 in Program 1 and
substitute this new line 10:
10 FOR A = 1S36 TO 1724:READ B:POKE
A,B:NEXT A
Again, you can call Textdump
as described above in either direct
or program mode. You can also
convert this version of the program
into a module for use in your own
programs.
If you like, you can modify
Textdump to print a smaller portion
of the GRAPHICS 0 screen. Simply
POKE the desired number of rows
you want to dump into memory
location 1613.
For Instructions on entering this llsling, pleas©
refer to "COMPUTEI's Guide to Typing In
Programs" in this issue of COMPUTE!.
Atari Textdump
CL 10 CLOSE #1
PS20 OPEN #1 , a, 0, "D: AUTORUN
. SYS"
EJ 30 F
I
Id 40 F
D
N
CP 50 C
Cn 1000
DB 1002
U 1003
EF 1004
«C 1005
SF 1006
EP 1007
DB 1008
OL 100 9
NP 1010
OL 10 11
EJ 10 12
BE 10 13
L« 1014
CI 1015
OR fl =
NT #1
OR fl =
B: PR
EXT A
LOSE
DATA
. i'
DATA
3, 15
,74,
DATA
157,
DATA
3,3,
,32,
DATA
89, 1
DATA
5, 32
4,16
DATA
04, 1
, 143
DATA
, 224
, 209
DATA
3B, 1
9
DATA
7,15
,69,
DATA
5,15
DATA
, 240
12,1
DATA
58, 1
DATA
.0,0
,0,0
DATA
,0,0
1 TO 6:READ B:PR
; CHR4 tB) ; : NEXT A
1536 TO 1724:REA
INT #1 ; CHR* (B) ; :
#1
255,255, 0,6, 188
104
7, 66
3,16
157
69, 3
141
169.
B6, 2
88
33,2
0, 2
, 157
5, 20
1,1
05, 0
162, a
,3, 169
i9, 144
,68,3,
, 169, 0
, 143,6
255, 15
;2a, 165
3, 20
133
0, 169,
,B, 137
169,6,
, 157,7
7,72,3
3, 165,
;04, 162,0, 160
203, 10
, 232, 2
!4, 177,
.147,6
13, 105
33, 203
133, 2
. 165,2
04, 173
6, 201 , 24, 240, 52
, 40, 240, 4, 224, 40
,217, 169
155, 157, 147, 6, 2
43, 6, 162, 80, 169,
157
7, 68
3,16
157
7,72
228
173
57, 6
86,
55, 0
0, 0
,0,0
,0,0
0, 0
,0,0
,66,
,3, I
9,0
,73,
,3,3
, 162
, 162
6,3,
228,
,0,0
,0,0
,0,0
,0,0
,0,0
, 155
3, 169, 14
69,6, 157
3, 169,25
2, 86
,0, 224,0
, 80, 169,
32
96, 0, 80,
, 0, 0, 0, 0
,0,0,0,0
,0,0,0,0
,0 ©
82 COMPUTEI April 1986
§!•
Amig
Batch Files
Charles Brannon
Program Editor
AmigaDOS is more than a console-
driven disk operating system. By exe-
cuting a sequence of AmigaDOS
commands stored in a file, AmigaDOS
takes on some of the characteristics of
a programming language. Whether
you want to simplify repetitive disk
commands or create personalized cus-
tom commands, batch files further ex-
tend the range and flexibility of
AmigaDOS.
No matter how easy it is to use a
program, the most popular pro-
grams are those that give users
more power. And although a pro-
gram may have scads of powerful
commands, the most powerful pro-
grams are those which let users put
the commands together in new
ways — in effect, to write programs.
Instead of forcing you to al-
ways issue commands one at a
time, a programmable application
lets you create a script of com-
mands to customize the behavior of
the program. Whether we're talking
about word processing macros,
spreadsheet templates, relational
database languages, or advanced
machine language, programmabili-
ty is the real key to software power.
If you feel limited by a certain range
of commands, you can combine the
commands in new ways to create
personalized features, just as we
combine the vocabulary of English
words to create a wealth of litera-
ture. Why just read when you can
write?
Scripts, Sequences, And
Batches
AmigaDOS is more than just a disk
operating system — it's a program-
mable system that can process lists
of its own commands as well as
individual commands. In effect,
AmigaDOS is a simple disk-oriented
programming language,
A list of AmigaDOS com-
mands can be stored in a disk file
variously known as a script, a se-
quence, or a batch file. The term
"batch file" is most commonly used
by those who work with PC-DOS,
MS-DOS, and CP/M, which are
also programmable disk operating
systems. To keep things straight,
we'll use "batch files" synony-
mously with "scripts" or
"sequences."
Even if you don't program in
BASIC or any other language, you
may be interested in learning about
AmigaDOS batch files. The batch
file "language" is simply made up
of the same AmigaDOS commands
you've probably been using all
along (see "Introduction to Amiga-
DOS," Parts 1 and 2, in the Febru-
ary and March 1986 issues of
COMPUTE!). There are also a few
AmigaDOS commands designed
especially for batch files.
Creating and running batch
files is easy. Using a text editor, you
just type in a list of AmigaDOS
commands. Then you save the list
on disk under a filename. To run
the batch fUe, you type EXECUTE
filename at an AmigaDOS prompt.
AmigaDOS reads the batch file and
executes the list of commands, just
as if you had typed them one by
one yourself.
We won't cover some of the
more advanced features of batch
files, useful only to advanced C and
machine language programmers.
Instead, we'll concentrate on the
everyday utility of batch file
programming,
A Quick Example
In a moment, we'll show how to
create batch files with ED, the
AmigaDOS full-screen text editor,
but first there's a simpler way to
create a short batch file. Enter this
line at an AmigaDOS prompt:
copy * to Hello
(Note that AmigaDOS commands
can be entered in uppercase or
lowercase.)
Although nothing seems to
happen, AmigaDOS is waiting for
you to enter some lines. We'll use
the ECHO command to display a
friendly message. ECHO displays
any text that follows it within quo-
tation marks, just like the PRINT
statement in BASIC, One difference
is that if you want to ECHO only a
single word, the quotes aren't
necessary.
At an AmigaDOS prompt, en-
ter the following text, pressing RE-
TURN after each line;
echo "Hellol"
echo "I am your friend, the Amiga"
echo "personal computer,"
After the last line, press CTRL-
\ . This key is the one to the left of
the BACKSPACE key. CTRL- \
tells AmigaDOS that you're fin-
ished, and that it should finish writ-
ing and close the file. This key
represents EOF, for End Of File.
To confirm that you've typed
the file correctly, enter:
TYPE Hello
April 1986 COMPUTEI 83
You should see the same lines you
typed. Now you can start this sim-
ple program;
EXECUTE Hello
This should print on the screen:
Hello!
I am your friend, the Amiga
personal computer.
Using ED
It would be nice to have the Amiga
actually speak this greeting. Rather
than type in a whole new file, we'll
use ED, the screen editor, to make
the simple changes we're interested
in. Enter:
ED Hello
This runs ED and also loads
the batch file named Hello. When
you start ED, you can give it the
name of any file to edit. If the file-
name doesn't exist, it will be creat-
ed; otherwise the file is auto-
matically displayed on the editor
screen. (Incidentally, AmigaDOS
has another text editor called EDIT,
but it's not as easy to use as ED.)
We'll make the Amiga speak
the ECHO messages aloud by tak-
ing advantage of the system's built-
in speech synthesis via the
AmigaDOS SAY command (added
to AmigaDOS version 1.1), To learn
more about SAY, just enter SAY by
itself to enter an interactive mode
with on-screen instructions.
After you start ED by typing
ED Hello, the batch file we previ-
ously entered should be on the
screen, with the cursor at the begin-
ning of the first line. ED is a full-
screen text editor, so you can move
the cursor anywhere within the file
(but not past the last line). To insert
some text, just start typing. The
DEL and BACKSPACE keys- can be
used to delete characters.
Move the cursor to the second
ECHO line and press RETURN.
This inserts a blank line. Cursor up
to the blank line and enter:
SAY HELLOI
You don't need to press RETURN at
the end of the line, since you al-
ready did this to open up a line for
typing.
Now cursor to the end of the
file and type:
SAY I am your friend, the Amiga
personal computer,
(Notice that SAY is the only Amiga-
DOS command that doesn't require
you to enclose text containing
spaces with quotes,) This is how
your screen should look:
echo "Hello!"
say Hello!
echo "I am your friend, the Amiga"
echo "personal computer."
say I am your friend, the Amiga personal
computer.
With the cursor at the end of
the file, press the ESC key. An as-
terisk (*) should appear. Press the X
key, then RETURN. This exits ED
and saves your changes back to
disk.
Finally, type EXECUTE Hello
to try out your talking batch file.
Although these techniques are
sufficient for simple editing, ED has
dozens of editing commands. For
example, CTRL-B (press CTRL and
B at the same time) blanks out and
deletes the line the cursor is on.
ESC-J-RETURN joins two lines to-
gether. Space doesn't permit a dis-
cussion of all these commands, but
if you like to experiment, refer to
the abbreviated ED reference chart
accompanying this article.
Startup-Sequence
A special AmigaDOS batch file,
called the startup-sequence, is exe-
cuted automatically when you boot
up an AmigaDOS or Workbench
disk by inserting it at the Work-
bench prompt. Startup-sequence
normally just displays a message,
then launches the Workbench and
ends the command line interface.
To edit this batch file, enter:
ed s/startup-sequence
This runs ED and calls up the
file "startup-sequence" from the S
subdirectory. This subdirectory,
which can also be accessed as the S:
device, is a convenient place for
batch files. Just as AmigaDOS by
default searches for AmigaDOS
commands in the C subdirectory,
the EXECUTE command first looks
for a batch file in the S subdirectory.
If AmigaDOS can't find the batch
file in this subdirectory, it looks for
it in the current directory. So no
matter what your current directory
is, you can always use your batch
file if you place it in the S directory
on your startup disk.
When you first load startup-
sequence into ED, you'll see some-
thing like this:
Common ED Commands
Immediate Commands (hold down CTRL
and press key):
CTRL-A
CTRL-B
CTRL-D
CTRL-E
CTRL-N
CTRL-O
CTRL-U
CTRL-Y
Insert line at cursor position
Delete current tine
Scroll text downward
Move cursor to top or bottom of
screen
Delete character at cursor
Delete word or series of spaces
Scroll text upward
Delete to end of current line
Extended Commands (precede by pressing
and releasing ESC):
B Move cursor to
bottom of file
E/stringl/ string!/ Exchange stringl to
string!
EQ/ stringl /string!/ Exchange, but query
first
7 /string/ Find siring
J Join current line with
next line
Q Quit without saving
text
T Move cursor to top
of file
X Exit, save text
echo "Workbench disk. Release 1.1"
echo " "
echo "Use Preferences tool to set dale"
echo " "
LoadWb
endcli > nil:
Since this message appears ev-
ery time you start up your disk, you
may want to change the ECHO
statements for a personalized mes-
sage. Likewise, if you'd rather use
AmigaDOS instead of the Work-
bench, delete the last two lines. The
"> nil:" sequence makes Amiga-
DOS throw away the output of a
command; here, the message "CLl
task 1 ending."
Startup-sequence is a good
place to put personalized com-
mands. For example, if you like to
keep your command directory in
RAM for speed and convenience,
you could insert these lines above
the LoadWb line:
makedir ram:c
copy c to ram:c all quiet
cd ram:c
This copies all of the Amiga-
DOS commands from the C subdir-
ectory on the floppy disk into a C
subdirectory on the RAM disk. It
also changes the current directory
to the C subdirectory in RAM:, so
any AmigaDOS commands you
type from then on will be loaded
84 COMPUTEI April 1966
from RAM: instead of from the
floppy. In effect, this turns Amiga-
DOS into a memory-resident DOS,
with all commands intrinsic instead
of extrinsic. AmigaDOS responds
much faster this way. However,
this also uses up quite a bit of mem-
ory, so you may want to copy only
the commands you use frequently.
Another useful startup action
is to set the date and time. You can
always do this with the Preferences
tool or by opening a CLI and using
the DATE command. However, it
can be more convenient to enter the
date when you first turn on your
Amiga, allowing all files subse-
quently saved to be stamped with
the current date and time. Just in-
sert this line into startup-sequence:
date?
The ? operator can be used in
place of the parameter of a com-
mand. Instead of specifying the
date, ? prompts the user to enter the
date. It also displays the template
for the date command (TIME,DATE,
TO = VER/K:). If you like, use
ECHO to display your own prompt,
and > nil: to discard the template:
echo "Please enter the date and time."
echo "DD-MMM-YY HH:MM:SS"
date > nil: 7
From then on, whenever you boot
up from this disk, you'll respond to
the prompt by typing something
like this:
27-jan-86 15:12
which automatically sets the sys-
tem clock.
Variable Parameters
You can also send special options to
your batch file. You enter these op-
tions on the command line along
with the EXECUTE command. Just
as with variables in BASIC, you can
manipulate these parameters sym-
bolically.
Let's say you'd like a batch file
that gives you complete infor-
mation on a file. It uses LIST to
display the information about the
file, and TYPE to display the file.
You would use a command like EX-
ECUTE SHOW RODEO to display
the file RODEO. Use ED SHOW or
COPY * TO SHOW to create this
batch file:
.KEY name
LIST <name>
TYPE <name>
.KEY (don't forget the leading
period) sets up a name for substitu-
tion text. Whatever you typed on
the same line with EXECUTE is
substituted wherever you use
<name>. You must use the angular
brackets, or LIST and TYPE would
look literally for the file "name."
After creating this batch file,
type this at an AmigaDOS prompt:
EXECUTE SHOW S/STARTUP-
SEQUENCE
The result is the same as if you had
typed LIST S/STARTUP-
SEQUENCE followed by TYPE
S/STARTUP-SEQUENCE.
Other AmigaDOS commands
let you check to see if the user has
entered a specific string and check
to see if a file exists. To prevent an
error message, we can check to see
if the file exists before we use LIST
and TYPE:
.KEY name
IF EXISTS <name>
LIST <name>
TYPE <name>
ELSE
ECHO "<namc> does not exist!"
ENDIF
Notice the use of IF, ELSE, and
ENDIE Looks like Amiga BASIC,
doesn't it? In fact, the AmigaDOS
IF-ELSE-END IF commands func-
tion very much like BASIC'S. When
the IF condition is true, AmigaDOS
executes the following statements;
otherwise the following statements
are ignored. ELSE executes the
statements following it only if the
preceding IF was false. ENDIF can-
cels conditional processing and re-
turns to executing all commands.
Any Parameters Missing?
Here's how to use the IF EQ option
to test for the existence of a com-
mand-line parameter. If there is no
parameter, <name> is null, so
"<name>z" is simply "z". We use
NOT to reverse the test. If the pa-
rameter "<name>z" is NOT equal
to "z", then we must have a com-
mand line parameter. (We can't just
test IF <name> NOT EQ "", since
EQ wants two parameters, and the
null string "" is not a parameter,
but the lack of one.)
.KEY name
IF <name>2 NOT EQ z
LIST <name>
TYPE <name>
ELSE
ECHO "You didn't give me anything to
SHOW."
ENDIF
Although you can't use leading
spaces in the actual batch file, it's
easier to follow the IF-ENDIF struc-
tures when you use indentation.
Just don't type in the leading
spaces. This version of the batch file
SHOW checks both for the exis-
tence of the filename and for the
presence of the filename parameter:
.KEY name
IF <name>z NOT EQ z
IF EXISTS <name>
LIST <name>
TYPE <name>
ELSE
ECHO "<name> does not exist!"
ENDIF
ELSE
ECHO "You didn't give me anything
to SHOW."
ENDIF
You can use more than one
parameter in the .KEY statement,
just as many commands, such as
DATE, accept two inputs.
If the user doesn't enter any-
thing for the parameter, you can
assign a default value using either
.DEF or $, If you use .DEF, the
default phrase is used throughout
the batch file. In this example,
SHOW displays itself if you don't
give it a filename.
.KEY name
.DEF s/show
LIST <name>
TYPE <name>
You can use $ to substitute a
default value only for the current
substitution. Several batch com-
mands may use the value in differ-
ent ways, so each command may
have its own default value. In the
following example, LIST displays
the whole directory if <name> is
null but TYPE types the file
"TEMP" if <name> is null:
.KEY name
LIST <name>
TYPE <name$lemp>
Labels And Branching
You can jump forward to a label
with the SKIP command. You'd
typically use SKIP along with an IF
condition if you want to skip over a
block of statements that shouldn't
be executed if the IF was true. You
declare the label with LAB. SKIP
can't skip backward, only forward
to a LAB statement. You can
usually use IF and ELSE to accom-
plish the same thing, though.
April 1986 COMPUm 85
.KEY name
IF exists <naine>
TYPE <naine>
SKIP ToMyLou
ENDIF
ECHO "<name> doesn't exist."
LAB ToMyLou
echo "Finished."
An EXECUTE command can
execute another batch file, or even
itself. This permits backward loop-
ing to some degree. Nested batch
files can be quite handy. You can
test and debug individual batch
programs, then execute them to-
gether from a master execute script:
EXECUTE Greeting
EXECUTE GetDate
EXECUTE Assignments
The individual files could
themselves contain other EXECUTE
references.
ASSIGNing Shorfcufs
If you're using EXECUTE a lot, you
may grow weary of typing it. You
can always rename EXECUTE to
something short like x, but other
batch programs may contain EXE-
CUTE statements, requiring you to
rename it back. Instead, you can
use the ASSIGN command to as-
sign any filename to a device name.
ASSIGN x; sys:c/EXECUTE
You can now use x: whenever
you want to use the EXECUTE
command, (The prefix sys:c/ makes
sure that EXECUTE can be found
no matter what directory you're in.)
The device name you create
should not conflict with an existing
one. To get a list of the current
assignments, just type ASSIGN.
You may want to ASSIGN d: c:list
for a convenient and quick short-
hand for directories (c: is synony-
mous with the C directory). You
can then just type d: to get a LIST.
ASSIGN can be so handy for
this kind of thing that you'll proba-
bly want to include your own se-
quence of ASSIGN commands
within startup-sequence. If you put
your ASSIGN statement within
startup-sequence, you'll get these
assignments for every session. Just
remember that ASSIGN can only
be used to attach a device name to a
particular filename. ASSIGN d:
"c:list quick" doesn't seem to work.
Although LIST is a filename in the c
directory, the "quick" parameter is
not part of the filename. ©
Apple
Disk Duper
Jason Coleman
Here's a program that lets you dupli-
cate Apple disks quickly and conve-
niently. Though it can copy disks
formatted for either DOS 3.3 or Pro-
DOS, it must be run with ProDOS. It
also requires 128K RAM.
Everyone knows the value of back-
ing up disks. But how many of us
take the time to make archive
copies of important disks on a regu-
lar basis? "Apple Disk Duper" sim-
plifies the process by making it
possible to copy an entire disk in
only two passes. It works on one- or
two- drive systems with at least
128K RAM.
After typing in the program
and saving a copy, simply run it
and follow the instructions on the
screen. Apple Disk Duper prompts
you every step of the way.
Although the program runs
only under ProDOS, it can copy
DOS 3.3 disks as well as ProDOS
disks. It works with any Apple Disk
Il-compatible drive, but not with
the new SVi-inch UniDisk.
Apple Disk Duper
For instnjctions on entering this listing, please
refer to "COMPUTEI's Guide to Typing In
Programs" in this issue of COMPutei.
74 100 FOR X = 768 TO 783: READ
Yt POKE X,Y: MEXT
Sfl 110 DATA 32,0, 191, 129,"?, 3, 176
,249,96,3,96,0,32,0,0,0,0
59 120 TEXT : HOME
47 130 VTAB 12: HTAB 12: PRINT "
DISK DUPLICATOR"
«ft 140 VTAB 20: HTAB 9: PRINT " (
HIT ANY KEY TO BEBIN)";!
POKE - 1636B,0: GET ST»
4E 150 HOME
IC 160 VTAB 12: INPUT "ENTER NUM
BER OF DRIVES: ";ND»:ND -
VAL (ND«)
CB 170 IF ND < > 1 AND ND < > 2
THEN 390
Fl 1B0 HOME : VTAB 12: PRINT "PU
T SOURCE DISK IN DRIVE 1"
7(1 190 IF ND = 2 THEN VTAB 17: P
RINT "PUT DESTINATION DIS
K IN DR1VE2"
Dt 200 VTAB 20: POKE - 1636B,0:
PRINT "PRESS ANY KEY TD M
AKE COPY.": GET AK*
91 210 FB = 0:MX = 3
91 220 FDR N = 1 TD MX
C4 230 POKE 771, 12B
11 240 POKE 700,32: POKE 778,96
IE 250 FOR I = FB TO FB + 55
25 260 P2 = INT (I / 256): PI = I
- 256 « P2
OE 270 POKE 7B2,P2: POKE 78 J, PI
51 2B0 CALL 768: POKE 780, PEEK
(780) + 2: NEXT I
n 290 IF N < ^fX THEN PRINT CHR*
(4)"BSAVE/RAM/C0PY"N",A*
2000,L»6FFF":FB = FB + 56
42 300 NEXT N
29 310 IF ND = 1 THEN VTAB 12: P
RINT "PUT DESTINATION DIS
K IN DRIVE 1": BET AK»
ED 320 FOR N = MX TG 1 STEP - 1
F9 330 POKE 771,129: POKE 780,14
2
1! 340 IF ND = 2 THEN POKE 778,2
24
i» 350 IF N < MX THEN PRINT CHR*
(4) "BLOAD/RAM/CDPY";N
79 360 FOR I = FB + 55 TO FB STE
P - 1:P2 = INT CI / 256) s
PI = I - 256 « P2
DF 370 POKE 782, P2: POKE 781, PI
7! 380 CALL 768: POKE 780, PEEK
(780) - 2- NEXT I
»B 390 FB = FB - 56
4J 400 NEXT N
IB 410 IF MX = 2 THEN 440
bi 420 MX = 2:FB = 168: IF ND =
1 THEN VTAB 12: PRINT "PU
T SOURCE DISK IN DRIVE 1
": GET AK*
14 430 GOTO 220
17 440 HOME ; VTAB 12: HTAB 15:
INVERSE : PRINT "COPY COM
PLETE": NORMAL : END ©
S6 COMPUTB April 1986
Smooth-Scrolling
Billboards
For IBM
Do you want to leave a message on
your computer screen that's sure to be
noticed? Or would you like to create
an eye-catching display in a shop
window that effectively communi-
cates your message to the public? The
programs presented here let you easi-
ly produce smooth-scrolling bill-
boards on the 40- or 80-column screen
of your IBM PC (with color /graphics
adapter and BASICA) or PCjr (with
Cartridge BASIC).
To be really effective, a billboard
program must smoothly scroll its
message across the screen. Pro-
grams that jerk the letters across the
screen are very hard on the eyes.
The speed necessary for smooth
scrolling can be achieved only by
avoiding the routines in the BIOS
(Basic Input/Output System) and
v^riting directly to video memory.
However, this can cause a problem
when text is used in graphics
modes — writing directly to video
memory disrupts the character gen-
erator. As a result, small flickering
lines appear on the screen (for more
details, see COMPUTE! Books'
Mapping the IBM PC and PCjr,
pages 193-198).
This problem can be solved by
writing to video memory only dur-
ing the time when the monitor's
raster beam is in vertical retrace,
while the display is idle. On some
IBM-compatible computers (the
Paul W. Carlson
Compaq, for example), the problem
can be avoided by writing to an
inactive page of video memory and
then making it the active page. The
programs following this article
make use of both methods.
With some computer and
graphics card combinations, a few
flickering lines remain at the very
top of the screen when running the
80-column billboard program.
These could have been eliminated,
but only at the expense of speed
and smoothness. About 300 charac-
ters can be written to video memory
during the vertical retrace period,
and 640 characters (eight lines of
80) need to be written for each
screen update. Therefore, to elimi-
nate the flickering lines entirely,
we'd have to wait for three vertical
retrace periods. These lines are less
objectionable than the loss of
smoothness caused by waiting for
an extra retrace period.
Creating Billboards
Program 1 is for creating billboards
on the 40-column screen, and Pro-
gram 2 is for the 80-column screen.
Both programs are extremely easy
to use. After typing RUN, simply
enter any text string at the prompt.
If you want your message to con-
tain a comma, enclose the entire
text string in double quotes. When
you press ENTER, the message en-
larges and begins scrolling. It can be
stopped at any time by pressing the
Q key.
The programs can be custom-
ized to suit your taste. The charac-
ter that forms the large letters can
be changed from a solid block to
another character by changing the
DATA statement identified in the
listing. For example, to change the
solid block to a smiling face, change
the DB to 02 in line 300. You can
also modify the scrolling speed by
changing the two bytes identified in
the listing (the second byte has 256
times the effect of the first byte).
How It Works
The techniques used here can be
applied to any program that must
update a text screen very rapidly, so
a brief description of the steps in-
volved may be useful.
1. Set up a buffer in memory equal
in size to the block of characters to
be written to the screen (8 X 80 for
the 80-column billboard).
2. For each input character, access
the character PEL map in ROM at
FFA6:OE. By columns, depending
on whether or not a bit is set, put
the code for a solid block or a space
into the rightmost column of the
buffer array.
3. When a column is complete,
scroll the whole buffer one column
to the left,
4. Wait for the beginning of a verti-
cal retrace period, then copy the
buffer to the inactive screen.
5. Make the inactive screen the ac-
tive screen.
April 1986 COMPimi 87
6, Do the next column in step 2.
sc
420 DATA 74,FB,F3,A5,EB,04,EB
,8B
HE 340
DATA 36,0A,41,aD,3E,0a,41
,B9
11
430 DATA EB,AA,B9,A0,00,BA,DA
CP 350
DATA 9e,00,F3,A4,46,46,47
For instmctions on entering these Bstings,
,03
,47
please refer to "COMPUTEI's Guide to Typing
w
440 DATA EC,A8,08,75,FB,EC,Aa
PJ 360
DATA 48,75,F4,A0,08,46,:^4
In Programs" In this issue of compute i.
,08
,01
tJ
450 DATA 74,FB,F3,A5,5a,CD, 10
JD 370
DATA A2,0a,46,B4,05,50,AB
Program 1 : 40-Column
Billboards
,B9
,01
FF
460 ' The following two value
s are the
GK 380
DATA 75, 05,88, 00, Ba, £8,03
,B8
EK 10 ' Forty Column Scrolling
Bi 1 Iboard
JO 20 '
LJ 30 ' Press ttie "G" key to qu
it.
Jfl 40 '
01 50 DEF SEG: CLEAR, &H3FF0:N=&H4
FJ
470 ' time delay constant in
the order
HH 390
DATA 00, 69, BE, C0, 69,40,01
,BF
KH
480 ' least sig. byte, mast s
NG 400
DATA 60, 04, 80,36, 0a, 41, BA
CP
ig. byte.
490 DATA 01,00
0F 410
,DA
DATA 03,EC,AB,0a,75,FB,EC
ss
500 DATA E2,FE,59,E2,DF,07,5E
,AB
,B4
KO 420
DATA 0a,74,FB,F3,A5,EB,04
60A
HI. 60 FOR J = 0 TO 249: READ At
flS
510 DATA 06,B2,FF,CD,21,3C,7l
,EB
,74
HE 430
DATA aA,EB,AA,B9,40,01,BA
SI 70 POKE N+J, VAL("&H"+fi*) : NEXT
(IN
520 DATA 06,3C,51,74,02,EB,CF
,DA
FS 80 KEY OFF: CLS: SCREEN 0: WIDTH
,86
El 440
DATA 03,EC,AB,0a,75,FB,EC
80
FP
530 DATA ES, 07,88,00,05, CD, 10
,AB
6L 90 INPUT" Text string"; T«: T«=T
,CB
FI 450
DATA 09,74,FB,F3,A5,58,CO
, 1^
*+" "
FF 100 N=tiH4000:K=LEN(Tt) :FDR J =
1 TO K
LP 110 POKE N,ASC<MID«tT», J, J) ) :
Program 2: 80-Coiumn
Billboards
AF 460
FH 470
PL 480
DATA B9
' The following two value
s are the
N=N+1
KF
10 ' Eighty Column Scrolling
* time delay constant in
the order
* least sig. byte, most s
QA 120 NEXT: POKE N, 0: CLSs WIDTH 4
0
JO
LJ
Billboard
20 '
30 ' Press the "G" key to qu
it.
40 '
LJ 490
JL 130 LOCATE, ,0:N=!<H460A: CALL N
CC 140 WIDTH a0:CLS!KeY QN:END
BB 500
ig. byte.
DATA 01,00
E6 150 DATA 06,BB,EC, 8C, Da,BE,C0
JA
BI 510
DATA E2,FE,59,E2,DF,07,3E
,B4
DATA 06,B2,FF,CD,21,3C,71
,74
DATA 06,3C,51,74,02,EB,CF
,B9
EH 160 DATA 80, 02, SD, 3E, 0B, 41 , IE
DI
50 DEF SE6: CLEAR, !<H3FF0:N=&H4
60A
BI 520
.BB
KK 170 DATA 00, BB, SE, 08, BE, 30, 02
HC
SB
60 FOR 3=0 TO 250: READ A*
70 POKE N+J,VAL("8iH"+A«) :NEXT
NP 530
,F3
B8 180 DATA fl4, IF, B8, A6, FF, 8E,C0
Fft
80 KEY OFF: CLS: SCREEN 0:W1DTH
80
FB 540
J at?
DATA E5,07,BB,00,05,CO, 10
,80
GL
90 INPUT"Text string"; T«: Tt=T
63 190 DATA 36, 00, 40, BA, IC, 46, 60
JK 200 DATA 00,74,F4,B7,00,O1,E3
4i-t-" ■■ »
FF
100 N=J<H4000:K=LEN(T»>:FOR J =
1 TO K
,D1
LP
110 POKE N,ASC(mD«(T«,J,l) ):
U 210 DATA E3,D1,E3,B3,C3,0E,B9
,08
HD
N=N+1
120 NEXT: POKE N,0:CLS
COMPUTE!
FK 220 DATA 00, 33, FF, 26, 8A, 07, 88
JL
130 LOCATE,, 0:N=&H460A: CALL N
TOLL FREE
,85
CC
140 WIDTH 80: CLS: KEY ON: END
Subscription
GJ 230 DATA 00, 41 , 47, 43, E2, F5, 56
EG
1S0 DATA 06,BB,EC,BC,D8,8E,C0
,06
,B9
Order Line
Bit 240 DATA B9, 09, 00, 51 , 33, FF, B9
9K
160 DATA 00,05,BD,3E,08,41, IE
^^F ■ ^^H ^^ ■ ^va ■ ■ ^^
,08
,B8
1
-800-247-5470
FI 250 DATA 00,BB,4E, 00, 00, A5,00
,41
CP
170 DATA 00,BB,BE,Da,BE,60,04
,F3
InIA 1-S00-532-1272
K 260 DATA 72, 04, B0, 20, EB, 02, B0
IF 270 ' The following value is
the
!I
GG
180 DATA A4, 1F,BB,A6,FF,8E,C0
,80
190 DATA 36,00,40,BA,1C,46,80 "
JF 2B0 ' ASCII code of character
that
JK
,FB
200 DATA 00,74,F4,B7,00,D1,E3
■ nil
llllll state-of-the-art"'
HE 290 ' forms the large text.
HP 300 DATA DB
JH 310 DATA Ba,e7,0a,41,83,C3,50
p47
U
FK
,D1
210 DATA E3,D1,E3,83,C3,0E,B9
.08
220 DATA 00,33,FF,26,aA,07,88
■ OS 1 MAGNETIC MEDIA
1 [. 1 5V4 " DISKETTES 1
^
^ • with Hub Ring:
M 320 DATA E2, EA, EB, 02, EB, B5, 8C
,85
tO
1^ • Write Prolecl Tabs
,DB
EJ
230 DATA 00,41,47,43,E2,FS,S6
M
^^1 ^^^^ • Envelopes
t^^Mr^^ • Ltser ID Labels
Cf 330 DATA BE,C3,FC,BB,0a,00,aD
,06
m
"^^V • In Factory Sealed
,36
K
240 DATA B9,09,00,51,33,FF,B9
^^F Poly Packs at 10
£K 340 DATA 0A, 41, BD,3E, 08,41, B9
,08
(YOU GET EVEfiYTHING BUT THE BOX]
r » F r ^ ^ r r
,4E
NK
OF
250 DATA 00,BB,9E,00,D0,A5,00
,41
260 DATA 72,04,B0,20,EB,02,B0
270 ' The following value is
the
Prices are per Disk
FC 350 DATA 00,F3,A4, 46,46,47, 47
.48
NF 360 DATA 75, F4, A0, 08, 46,34,01
,A2
OTY
50
100
500
1000
SSDD
.59
.56
.52
.49
DSDD
.64
.61
.57
.54
LiDrary Case Holds 15 Diskeltes Only , , SI 001
HI 370 DATA 0B,46,B4, 05, 50, AB, 01
JF
2B0 ' ASCII code of character
P
LS50C S&M
,75
that
The 100 File, Only , , . . S10 95! plus S2 00 S & H
^00•l ERROR FREE - LIFETIME WARRANTY
SO 3B0 DATA 05, B8, 00, 88, EB, 03, S8
HE
290 ' forms the large text.
Mm
order S25.00 Add 10% lor less than 50
,B0
HP
300 DATA DB
diskettes Shipping and Handing; S-i QO per 100
6E 390 DATA BB, BE, C0, B9, A0, 00, BF
BN
310 DATA 8a,a7,0B,41,ai,C3,A0
diskettes fleducea shipping tor larger quanli-
lies CO D add S4 00 Cash or certitied ctieck
.30
,00
^P coo — ^—
HK 400 DATA 02, BO, 36, 08, 41 , BA, DA
JO
320 DATA 47,E2,E9,EB,02,EB,B4
,03
,BC
Precision Data Products
or 410 DATA EC,fl8,08,75,FB,EC,Aa
SE
330 DATA DB, BE, C3,FC, 68,08,00
P
I'.a Bi>< S,W7. (irand Kapidv Ml 415111
,08
,80
(hlft)452-.1457 • Mifhiiijn l-W)(l^(..13.:4ftk
^ '"
OuLsiilt Miihiniin l-lilMl-:5H-IK>;i(
86 COMPUTH Apfll 1986
Commodore 64
Screen Genie
This thoughtfully designed utility
helps you draw complete screens
using character graphics. When
you're finished, it writes a complete
BASIC routine to recreate the graph-
ics screen. The program runs on any
Commodore 64 (or 128 in 64 mode)
with either disk or tape.
"Commodore 64 Screen Genie" is
both a screen editor and a program
generator. With it, you can quickly
and easily draw backgrounds for
games, colorful title screens, or just
pages of instructions. It offers a
wealth of editing commands for de-
signing a text or graphics character
screen in normal, multicolor, or ex-
tended background mode. Then, al-
most instantly, it can write a BASIC
routine to recreate that screen. This
new routine is merged with what-
ever program is in memory. Since
Screen Genie takes up no BASIC
program space, it can be used with
many other utilities such as the
DOS Wedge, "TurboDisk," or
"MetaBASIC,"
Screen Genie is written entire-
ly in machine language, so you'll
need to enter it with the MIX ma-
chine language entry program
found elsewhere in this issue. Fol-
low the MLX instructions closely;
here are the addresses you'll need
for MLX:
Starting address: 0801
Ending address; IDIO
Built-in Help Screen
Screen Genie loads and runs like a
normal BASIC program. Once you
run it, however, the program
James A. Ledger
breaks into several modules which
move to various places, leaving the
BASIC program space completely
free (more on this process later).
The first thing you'll see is a
help screen showing all of the
Screen Genie commands. Fortu-
nately, you don't have to memorize
all the commands shown here.
Since the help screen is always
available, the only key sequence
you need to remember is CTRL-H
(hold down CTRL and press H).
Selecting any command from the
help screen returns you to the work
screen and performs that com-
mand. Pressing any other key sim-
ply returns you to the work screen.
Of course, all of the commands are
also available directly from the
work screen.
The help screen serves another
purpose by indicating which modes
and cursor functions are selected.
For instance, if you select the Paint
cursor function by pressing the f3
function key, a white arrow appears
next to that option on the help
screen.
Once you enter the work
screen, almost all of the keys work
as they normally do — text and
graphics characters can be typed in
whatever color you like. However,
you may not type a quotation mark,
insert a character by pressing
SHIFT-INST/DEL, or break out of
the program by pressing RUN/
STOP-RESTORE. The delete key
(DEL) is not disabled, but works in
a slightly different way: It erases
the character at the cursor position
and moves the cursor one space
left, but it doesn't drag any charac-
ters on the right with it.
Finally, to prevent the screen
from scrolling, you are not allowed
to type anything in the bottom right
corner. Instead, this space is used to
show the current color for the char-
acters you're typing. That's a handy
feature, since the cursor itself is no
longer a blinking box. Instead, it's a
blinking black and white underline.
Immediate Commands
Screen Genie's commands are di-
vided into four groups: immediate
commands, cursor functions, screen
modes, and color selection. Here is
an explanation of the immediate
commands:
CTRL-H (Help). Display help
screen.
CTRL-T (Top clear). Clear from the
top of the screen to the current cur-
sor position.
CTRL-B (Bottom clear). Clear from
the bottom of the screen to the cur-
rent cursor position.
CTRL-M (Move). Move a block of
characters from one screen location
to another. Before you can move a
block, you must first define its
upper-left and lower-right corners.
Press CTRL-M, then place the cur-
sor on the upper-left corner of the
block you want to move, and press
RETURN. Move the cursor to the
lower right corner of the block, then
press RETURN a second time. Now
the block is defined. To move it
elsewhere on the screen, move the
cursor to the place where you want
to put the upper-left corner of the
new block, then press RETURN.
The contents of the new area are
replaced by the contents of the de-
fined block (note that the original
April 1986 COMPOTE! 69
area is not disturbed). The Move
command does not permit you to
place the new block in any position
that would overlap a screen border;
all of the new block must fit inside
the screen.
CTRL-Z (Memorize). Memorize
the current screen by saving its con-
tents in a memory buffer. A saved
screen can be restored with CTRL-O.
CTRL-O (Oops). Swap the current
screen with whatever is stored in
the buffer. Pressing it again swaps it
back. Besides restoring the screen
after a manual save (CTRL-Z), this
command can also undo any screen
clear or move command.
CTRL-P (Program). Write a series
of BASIC program lines to recreate
the screen you've designed. These
lines, beginning with the line num-
ber you choose, are merged with
whatever BASIC program is in
memory, if any. This feature per-
forms a true merge, rather than
simply tacking program lines onto
the end of the current program.
However, it does not replace any
existing lines. If the merge opera-
tion would replace an existing pro-
gram line. Screen Genie displays a
message and gives you a chance to
choose a new beginning line
number.
The Program option also lets
you add a line to set specific back-
ground and border colors. Like-
wise, if you're in extended
background or multicolor mode
when you choose this feature,
you're given the option of adding
lines that perform the setup for the
current mode.
Finally, you have the option of
adding a program line that waits for
the user to press any key. This is
useful for multiple pages of instruc-
tions, and so forth. Just be sure to
include a prompt such as PRESS
ANY KEY TO CONTINUE some-
where on the screen. If you choose
this option while in extended back-
ground or multicolor mode, you
may also add a line to turn the
mode off after a key is pressed.
The default setting for all Pro-
gram options is yes. Pressing any
key other than Y or RETURN at the
prompt selects no. If you have two
or more sequential screens that use
the same colors or mode, then you
need only set these up on the first
screen and turn the respective
mode off on the last screen.
CTRL-X (Exit to BASIC). This lets
you save, load, and edit BASIC pro-
grams as usual. Screen Genie is de-
signed so that you can exit to
BASIC and later reactivate the utili-
ty without disturbing a BASIC pro-
gram in memory. To reactivate
Screen Genie, just type GENIE and
press RETURN.
Under ordinary circumstances,
pressing RUN/STOP-RESTORE
does not disable Screen Genie. If
you disable it in some other way,
type SYS 50800 and press RETURN
to start it up again. When you reen-
ter Screen Genie, the work screen
contains whatever was on the
screen when you left BASIC: Press
CTRL-O immediately to recall what
you were working on at the time of
your last exit.
Since the GENIE command
works in program mode as well as
direct mode, you can edit a previ-
ously designed screen by inserting
the word GENIE just after the last
PRINT statement, and then run-
ning only that portion of the pro-
gram that displays the screen. For
example, if the routine that re-
creates your screen uses lines
500-525, then you could add GE-
NIE to the end of line 525 (or the
beginning of line 526) and type
RUN 500. You'll need to give the
new screen a different beginning
line number, and then delete the
old routine when you exit. (Don't
forget to remove the GENIE com-
mand from the program when it's
finished.)
Modes
In addition to ordinary text mode
(what you see when you turn on
the 64), Screen Genie lets you work
in extended background color
mode or multicolor mode, or re-
place the usual character set with a
custom-defined character set of
your own. Consult the Commodore
64 User's Guide for additional infor-
mation on how to use these modes.
CTRL-K (Extended background).
This mode permits each character
to have any of four different back-
ground colors, but lets you use only
the first 64 characters of the charac-
ter set.
CTRL-C (Multicolor). Since the or-
dinary character set looks quite
strange in multicolor mode, this
mode will most likely require a cus-
tom character set. It cannot be used
at the same time as extended back-
ground mode; selecting one mode
turns the other off.
CTRL-U (User-defined characters).
Selecting this mode causes the 64 to
use a custom character set. Only the
uppercase/graphics character set is
available in this mode. Before
choosing this option, you must
store the character definitions in
memory beginning at location
61440. Note that this configuration
is only needed while you're editing
the screen with Screen Genie. Once
the screen design is done, and you
have generated a BASIC routine to
recreate the screen (see the Pro-
gram option above), you can
change your program to use what-
ever character set and memory lo-
cations you want.
Custom character mode de-
mands a little more effort on your
part. As in other cases, Screen Ge-
nie's Program option generates a
complete routine with all of the
necessary PEEKs, POKEs, and
PRINTS needed to reproduce the
screen. However, it's your job to
put the custom character defini-
tions in memory, decide on a loca-
tion for the screen, and perform the
extra POKEs needed to set every-
thing up.
Cursor Functions
This group of options gives you
additional control over the drawing
cursor. They are selected by press-
ing one of the odd-numbered func-
tion keys. Any or all of these may
be turned on at one time; however,
if the Draw function (fl) is active, it
takes precedence over the other
three.
fl (Draw with the cursor). This op-
tion lets you draw with any charac-
ter, There are two ways to select the
drawing character. You can either
move the cursor to the desired char-
acter and press fl, or press fl and
type the character you want to use.
To erase, press the space bar.
f3 (Paint with the cursor). Select a
painting color just as you would
normally change the cursor color in
BASIC. Press CTRL or the Commo-
dore key along with a number key
from 1-8.
f5 (Change case with the cursor).
This is very useful in extended
90 COMPUTEI April 1986
background mode where a shifted
character has a different back-
ground color.
f7 (Reverse characters with cursor).
This option is also handy in extend-
ed background mode, where re-
versing a character gives it a
different background color. When
you reverse a space character in
normal mode, it has whatever color
happens to be stored in color mem-
ory— unless the color happens to
be the same as the background
color, in which case it is changed to
the current text color in order to
make it visible. You can guarantee
the color of reversed spaces by
turning on the Paint function at the
same time.
Color Control
The even-numbered function keys
provide you with complete color
control as follows:
f2. Cycle the border color (memory
location 53280).
f4. Cycle the normal background
color (location 53281).
f6. The menu lets you cycle back-
ground color registers one, two,
and three (these color registers are
used only in extended background
or multicolor mode).
£8, Cycle the color of every charac-
ter that is the same color as the
character under the cursor. If you
continue to press f8. Screen Genie
remembers which characters you
started changing and cycles only
those characters, rather than
switching to new ones each time.
As soon as you press any other key,
however, these characters are
forgotten.
Compatibility
Screen Genie is designed to coexist
with other Commodore 64 utilities
as peacefully as possible. To mini-
mize memory conflicts, nearly all of
its program code and workspace
areas reside in the hidden RAM
under the 64's BASIC ROM, Kernal
ROM, and I/O address space. Even
so, some not-so-hidden RAM had
to be used. The memory locadons
from 50800-52223 ($C670-$CBFF)
are used for links to the system,
interrupt-driven routines, sprite
shapes, and screen memory. This
still leaves locations 49152-50799
($C000-$C66F) free for programs
such as "TurboDisk," and locations
52224-53247 ($CCOO-$CFFF) fret
for programs such as the DOS
. 08D9
'- 0aEi
' 08E9
BC
A2
01
A2
09
08
04
20
8D
20
9B
02
EF
AS
03
AA
A9
A9
A9
00
03
El
8D
85
02
A4
C0
Wedge.
Programs
which
reside
ir
1 08F1
2D
85
2F
85
31
A9
08
85
FD
the upper
BASIC
program
area
08F9
2E
85
30
85
32
AD
11
D0
IC
such as
"MetaBASIC.
" will not bf
, 0901
09
10
8D
11
00
4C
39
A4
20
'
' 0909
93
0D
0D
20
20
IC
12
02
63
affected at all.
0911
08
20
2A
2A
2A
20
57
4F
E6
If you
want to use othe
r utili
- 0919
52
4B
2D
53
43
52
45
45
35
ties with th
s Droeram
. install therr
, 0921
4E
20
2A
2A
2A
02
08
20
03
before you load Screen Genie.
Th
er«
^ 0929
- 0931
92
54
02
4F
05
20
0D
52
02
45
04
2D
20
45
IE
4E
F4
22
is one
mmor quirk
when
using
; 0939
54
45
52
20
41
46
54
45
24
Screen
Genie wi
th
MetaBASIC
0941
52
20
45
58
49
54
20
54
E2
Screen
Genie wedges
itself
ir
0949
0951
4F
0D
20
02
42
04
41
20
53
54
49
59
43
50
00
45
BA
DA
through
the BASIC error
vector a
0959
20
12
20
47
45
4E
49
45
B3
768-76S
, which is reset by some
0
f 0961
20
92
20
41
4E
44
20
50
54
the commands in
MetaBASIC.
Nc
, 0969
52
45
53
53
20
52
45
54
BE
harm is
done when this
occurs
0971
0979
55
98
52
28
4E
20
0D
4F
00
52
02
20
04
12
20
20
F5
32
you'll just
have to reenter
Dcreer
1 0981
53
59
S3
20
35
30
38
30
0B
Genie with SYS 50800 rather thar
1 0989
30
20
92
20
29
02
06
00
7A
the more
convenient
GENIE
- 0991
02
04
20
81
50
52
45
53
6B
' 0999
53
20
12
53
48
49
46
54
10
commana.
09A1
2D
43
4C
52
92
20
54
4F
D6
09A9
09B1
09 B9
20
43
02
43
52
04
4C
45
20
45
45
IF
41
4E
43
52
02
55
20
07
52
53
0D
52
61
ac
2A
^
B
9
M
iH
■
^1
^M
09C1
45
4E
54
20
43
4F
4C
4F
05
^1
^H
09C9
52
20
49
4E
44
49
43
41
2A
mi
^K
09D1
54
45
44
20
48
45
52
45
2B
|Bf
9
09D9
09E1
2D
98
2D
23
2D
ID
2D
ID
2D
43
3E
4F
13
40
00
50
CE
BG
■j
1
09E9
55
54
45
21
10
50
55
42
80
^1
^M
09F1
4C
49
43
41
54
49
4F
4E
AO
Et+i
^1
^M
09F9
53
ID
50
52
45
53
45
4E
7C
'titi*4*J*f*ti*i*Ji*itHHtii4itfwk
0A01
0A09
54
ID
53
ID
02
ID
04
ID
11
ID
02
ID
08
10
9D
10
D2
^Rifjjjj^i
ID
|gvv\\^kkv\kv^^st\^^^v^v^Vi^Lsb\^^^^vvv\
m
0A11
0A19
ID
75
ID
02
ID
26
ID
63
ID
69
00
62
93
20
9E
20
IF
^"^
98
The "Screen Genie" screen editor/
0A21
0A29
75
69
63
75
69
63
75
69
63
75
69
63
B0
69
63
B2
D2
11
program generator makes it easy
to
aA31
20
B2
20
20
75
63
69
75
89
create graphic screens like th
s and
0A39
63
69
B2
20
B2
20
B2
75
A2
incorporate themrin your owt
Co
mmc
-
0A41
63
69
20
20
62
62
20
20
64
dore 64 BASIC progro
ms.
0A49
6A
63
69
62
20
20
62
63
68
0A51
6B
AB
B3
20
AB
B3
20
62
4D
0A59
6D
62
20
20
62
63
B2
AB
74
Screen Genie For
0A61
B3
20
62
6D
62
20
62
AB
7E
Commodore 64
0A69
0A71
B3
6A
20
60
20
6B
20
6A
62
63
62
6B
20
Bl
20
20
62
33
Please refer to the "MLX
' article in thi.
issue
0A79
6D
6A
63
6B
6A
63
6B
Bl
6B
before entering
the following listing.
0A81
20
Bl
20
20
6A
63
6B
6A
3A
- 0A89
63
6B
Bl
20
Bl
20
Bl
6A
3E
0801:18
08
0A 00
9E
32
30
37
B
' 0A91
63
6B
20
20
62
6A
02
26
IF
0309:34
3A
53 43
52
45
45
4E
Ef
, 0A99
63
6B
99
75
02
12
60
69
47
0811:20
47
45 4E
49
45
00
00
Ei
0AA1
9C
75
02
12
60
69
99
62
01
0819:00
A9
04 85
0E
A9
OD
85
2,
0821 :0F
A9
00 85
10
A9
A0
85
6'
3 0AA9
12
43
4F
4D
4D
41
4E
44
A6
0829:11
A2
0F A0
00
88
81
0E
E'
} 0AB1
53
3A
92
20
20
43
54
52
5B
0831 :91
10
C0 00
D0
F7
E6
0F
6 =
J 0AB9
4C
20
26
20
62
9C
62
12
IF
0839:E6
11
CA 30
06
D0
EE
A0
41
- 0AC1
20
43
55
52
53
4F
52
20
23
0841 :8a
D0
EA A0
80
B9
8B
IC
41
- 0AC9
46
55
4E
43
54
49
4F
4E
09
0849:99
6F
C6 88
D0
F7
A0
00
01
} 0AD1
53
20
92
62
99
62
02
12
7C
0851:98
99
00 C7
88
D0
FA
A9
B'
J 0AD9
20
62
9C
62
02
12
20
62
4B
0a59:FF
8D
15 CI
A0
3F
99
40
6J
L 0AE1
99
62
48
2D
48
45
4C
50
77
0861 :C7
88
10 FA
A0
15
A9
C0
9f
, 0AE9
20
28
54
48
49
53
20
4D
4C
0869:99
80
C7 88
88
88
10
F8
6"
7 0AF1
45
4E
55
29
62
9C
62
46
0A
0e71:A9
FF
80 80
C7
8D
83
C7
5:
0AF9
31
2D
44
52
41
57
02
0A
15
0879:80
D2
C7 8D
D5
C7
A0
0F
F^
; 0B01
20
5F
62
99
62
42
20
43
9E
0881 :A9
03
99 CO
C7
88
88
88
ei
) 0B09
4C
45
41
52
20
54
4F
20
F4
0889:10
F8
78 A9
22
85
01
A9
5C
: 0B11
42
4F
54
54
4F
40
20
62
3E
0891 :D0
A0
E0 A2
10
20
EF
AA
B^
1 0B19
9C
62
46
33
2D
50
41
49
88
0a99:A9
26
85 01
58
20
78
AB
hi
J 0B21
4E
54
02
09
20
5F
62
99
21
0eAl:18
20
92 A4
A9
01
20
CF
c;
i 0B29
62
54
2D
43
4C
45
41
52
AB
08A9:AA
A9
00 AD
11
D0
48
29
D'^
) 0B31
20
54
4F
20
54
4F
50
02
DA
0631 :EF
8D
11 D0
A9
09
A2
09
0C
: 0B39
04
20
62
9C
62
46
35
2D
33
0889:20
9B
A5 38
20
92
A4
63
F =
, 0B41
43
48
41
4E
47
45
20
43
EA
0801:85
48
20 C9
AA
A9
17
A2
1^
I 0B49
41
53
45
20
20
20
5F
62
22
08C9:0A
20
9B A5
A9
C8
A0
B8
li
^ 0B51
•99
62
4D
2D
4D
4F
56
45
E2
0
3D1:A2
04
20 EF
AA
A9
D8
A0
8E
0B59
:02
0C
20
62
9C
62
46
37
CF
April 1986 COMPUTEI 91
0B61;2D
52
45
56
45
52
53
45
10
0DE9:91
10
60
24
0C
10
08
A0
70
1071:0F
A9
00
35
10
A9
FO
85
82
0B69:02
07
20
5F
62
99
62
5A
04
0DF1:00
Bl
0E
49
40
91
0E
60
93
1079:11
20
E7
A3
A9
00
85
0E
C7
0B71 :2D
4D
45
4D
4F
52
49
5A
9F
0OF9:24
0C
50
0A
A0
00
A5
0A
2E
1081 :A9
F8
85
0F
A5
50
85
10
OF
0B79:45
20
53
43
32
45
45
4E
59
0E01:91
0E
AS
0B
91
10
60
18
74
10895A5
51
85
11
20
E7
A3
A9
24
0381:20
62
9C
6A
02
12
60
5B
FE
0E09:20
92
A4
20
30
A6
A9
E7
C7
1091:00
85
0E
A9
FC
85
0F
A5
31
0B89:99
62
4F
2D
4F
4F
50
53
60
0En:85
10
A9
CB
85
11
20
88
IF
1099:52
85
10
A5
53
85
11
20
93
0891:21
20
28
52
45
53
54
4F
09
0E19:A6
4C
00
A0
18
20
92
A4
B0
10A1 :E7
A3
A9
20
80
15
00
A9
El
0B99:52
45
29
20
62
9A
75
02
BB
0E21:20
30
A6
A5
0E
85
10
A5
04
10A9:1C
80
Fe
CB
4C
00
A0
A9
64
0BA1:12
60
69
99
62
50
20
43
91
0E29:0F
85
11
A9
00
85
0E
A9
06
10B1:00
85
39
85
3A
60
20
D2
19
0BA9:52
45
41
54
45
20
50
52
45
0E31:C8
85
0F
20
88
A6
4C
00
6E
10B9:FF
20
03
AS
48
20
08
AB
33
0BB1:49
4E
54
20
50
47
4D
62
29
0E39:A0
EE
20
00
4C
00
A0
EE
05
10C1:68
C9
91
D0
06
E4
39
00
CE
0BB9:9A
62
12
02
06
20
43
4F
9E
0E41:21
00
4C
00
A0
A5
00
49
AA
10C9:ED
F0
EE
C9
11
00
06
E4
54
0BC1:4C
4F
52
02
07
20
92
62
7C
0E49:80
85
00
20
30
A6
20
OC
E3
10D1;3B
00
E3
F0
E4
C9
9D
00
A9
0BC9 : 99
62
59
20
45
58
49
54
95
0E51:A0
4C
00
A0
A5
00
49
40
0F
1009:06
04
3A
00
09
F0
OA
09
94
0BD1:20
54
4F
20
42
41
53
49
FF
0E59:85
00
20
30
A6
20
SP
A0
58
10E1;1D
00
06
04
30
00
CF
F0
87
0BD9 : 43
20
20
20
62
9A
62
02
E3
0E61:4C
00
A0
18
20
92
A4
4C
lA
10E9:D0
60
A6
3D
20
81
AA
A4
34
0BE1 ! 12
20
62
99
6A
02
12
60
CE
0E69:00
A0
AD
11
D0
49
40
80
2E
10F1:3E
Bl
0E
91
10
A9
20
91
71
0BE9:6B
9A
62
46
32
2D
42
4F
27
0E71:11
00
29
40
F0
08
AD
16
8C
10F9:0E
88
10
F5
20
87
AA
A5
BE
0BF1:52
44
45
52
02
09
20
62
E6
0E79:D0
29
SF
8D
16
00
4C
00
AB
1101:0E
18
69
29
85
0E
90
02
67
0BF9: 96
75
02
12
60
69
9A
62
5A
0E81:A0
AD
16
D0
49
10
8D
16
E4
1109:E6
0F
A5
10
18
69
28
85
54
0C01 : 46
34
2D
42
41
43
4B
47
08
0E89:O0
29
10
F0
08
AD
11
00
53
1111:10
90
02
E6
11
OA
10
04
B6
0C09 : 52
4F
55
4E
44
02
05
20
02
0E91:29
BF
8D
11
D0
4C
00
A0
4D
1119:60
18
20
EO
A4
40
00
A0
4B
0C11 :62
96
62
12
20
4D
4F
44
86
0E99:AD
18
00
49
04
29
FC
80
BD
1121:20
78
AB
38
20
92
A4
20
IF
0C19:45
53
3A
20
92
20
43
54
El
BEAlslS
00
4C
00
A0
A5
0C
49
84
1129:C9
AA
A9
B8
m
08
A2
04
00
0C21:52
4C
20
26
20
20
20
62
FF
0EA9:B0
85
0C
20
30
A6
20
E8
30
1131:20
EF
AA
A9
BC
A0
D8
A2
0C
0C29:9A
62
46
36
20
42
41
43
8B
0EB1:A0
4C
00
A0
A5
0C
49
40
6B
1139:04
20
EF
AA
A5
0C
29
C0
7E
0C31 :4B
47
4E
44
20
52
45
47
EA
0EB9:95
0C
20
30
A6
20
C3
Al
81
1141 :0A
AA
2A
8D
B6
09
8A
0A
60
0C39:20
31
2D
33
62
96
62
02
BA
0EC1:20
F5
Afl
4C
00
A0
A0
00
08
1149 :2A
80
66
09
AS
00
29
00
02
0C41:12
20
62
9A
62
46
38
20
2A
0EC9 :B1
0E
85
0A
Bl
10
85
0B
77
1151:0A
AA
2A
80
8E
09
SA
0A
30
0C49:43
48
41
52
53
20
4F
46
62
0ED1 :6a
38
20
92
A4
20
30
A6
06
1159:2A
90
DE
D9
AS
48
29
40
4E
0C51:20
53
41
4D
45
20
20
62
98
0ED9:A0
00
Bl
0E
29
BF
2C
11
0F
1161 :0A
0A
2A
80
32
DB
A5
47
BC
0C59:96
62
4B
2D
45
58
54
45
0B
0EE1 :D0
50
02
29
3F
C9
20
D0
7F
1169:29
10
F0
02
A9
01
80
5A
29
0C61:4E
44
45
44
20
42
41
43
6E
0EE9:03
0EF1:85
0EF9:A9
0F01 : A0
4C
00
A0
Bl
10
29
0F
03
1171:DB
A5
46
29
04
4A
4A
8D
Bl
0C69:4B
47
44
5F
62
9A
62
20
09
4A
A9
00
85
0E
85
10
18
1179 :82
DB
A9
00
85
06
20
OC
60
0C71:20
20
43
4F
4C
4F
52
20
63
08
85
11
A9
FC
85
0F
3E
1181 :A5
24
55
30
07
38
20
ED
74
0C79:41
53
20
43
48
41
52
20
4B
00
A2
04
20
81
AA
Bl
12
1189: A4
4C
00
A0
48
38
20
ED
6C
0C81:20
62
96
62
43
20
40
55
F9
HF09 ■ HE
20
87
AA
29
0F
C5
4A
2D
1191 :A4
69
4C
09
A0
B0
00
A9
05
0C89:4C
54
49
43
4F
4C
4F
52
06
0F11 :D0
09
Bl
10
18
69
01
29
A2
1199:88
85
0E
A9
AF
85
0F
A9
19
0C91:02
05
20
5F
62
9A
62
20
48
0F19 :0F
91
10
C8
00
E6
E6
11
B2
llAl :B0
48
00
0B
A9
41
85
0E
64
0C99:20
20
4F
56
45
52
20
43
10
0F21 : E6
0F
CA
00
OF
20
C3
AS
89
11A9: A9
00
85
0F
A9
F8
48
A0
A4
0CA1:55
52
53
4F
52
02
04
20
IB
0F29 :C9
8C
F0
C6
4C
09
A0
38
09
llBl ;07
AO
11
DO
91
0E
88
AD
75
0CA9:62
96
62
55
20
55
53
45
E4
0F31 ! 20
92
A4
20
CO
AA
A9
A9
B0
11B9 : 16
00
91
0E
88
AD
18
D0
2A
0CB1:52
20
44
45
46
49
4E
45
11
0F39: A2
AE
20
9B
A5
A9
31
85
00
1101 :91
0E
88
B9
20
00
29
OF
82
0CB9:44
20
20
20
5F
62
9A
6A
26
0F41 : 10
80
F9
AE
A9
06
A2
AE
91
1 1 C9 1 9 1
0E
88
10
F6
AO
86
02
C7
0CC1:02
12
60
6B
96
62
20
20
C0
0F49: 20
9B
A5
E6
10
A5
10
C9
82
1101:85
49
A5
07
85
4B
20
08
OB
0CC9:43
48
41
52
20
53
45
54
10
0F5i : 34
00
EE
A9
00
A2
AF
20
A8
1109sAB
86
29
84
2A
68
AS
A9
CE
0CD1:20
40
20
36
31
34
34
30
64
0F59 :9B
A5
A9
IC
80
15
D0
A0
A8
11E1:C8
A2
04
20
EF
AA
A4
11
18
0CD9:62
98
20
20
50
52
45
53
F8
0P6i :02
B9
43
00
99
29
00
88
F2
11E9;A9
D8
A2
04
20
EF
AA
60
22
0CE1:53
20
41
4E
59
20
4B
45
OF
0F69:10
F7
20
F3
A9
C9
20
00
56
llFl :08
B0
11
38
20
92
A4
A9
28
0CE9:59
0D
96
6A
02
12
60
6B
EF
0F71 :0C
A9
00
8D
15
00
38
20
55
11F9:88
85
0E
A9
AF
85
0F
A9
79
BCF1:98
20
20
46
4F
52
20
57
22
0F79 : ED
A4
4C
00
Aj3
C9
31
90
60
1201:B0
48
00
IC
A9
41
85
0E
D6
0CF9:4F
52
4B
20
53
43
52
45
IC
0F81:E9
09
34
B0
E5
38
E9
30
AC
1209:A9
00
85
0F
A9
F8
48
AS
0B
0D01:45
4E
00
AO
86
02
80
2C
AF
0F89:A8
B6
42
ES
8A
99
42
00
BF
1211;4B
85
07
A5
49
80
86
02
IF
0D09:D0
20
C3
A5
24
55
10
19
16
0F91 :4C
5C
A2
18
20
92
A4
20
77
1219:A6
29
A4
2A
18
20
F0
FF
35
0D11:A0
12
D9
37
AF
F0
05
88
82
0F99:AC
A3
A9
18
85
3B
A9
27
41
1221 :A0
07
Bl
0E
80
11
00
88
49
0D19:10
F8
30
0D
99
0A
A9
B9
48
0FA1:85
3C
A9
IE
80
F8
CB
20
B0
1229:B1
0E
9D
16
00
88
Bl
0E
D6
0D21:4A
AF
48
C8
B9
4A
AF
48
80
0PA9:B6
A3
86
29
86
39
84
2A
BB
1231:80
18
00
88
Bl
0E
99
20
DO
0D29:60
C9
94
F0
D6
C9
14
D0
5E
0FB1 :84
3A
A5
0E
85
4C
A5
0F
ED
1239: Da
88
18
P9
20
81
AA
A0
76
0D31:0A
A9
95
A2
AC
20
9B
A 5
5A
0FB9:85
4D
A5
10
85
4E
A5
11
65
1241:08
A2
04
68
20
EF
AA
A5
35
0D39:4C
00
A0
C9
22
F0
C4
C9
52
0FC1:85
4F
AD
00
D0
80
0C
D0
01
1249 :0F
A0
08
A2
04
20
EF
AA
SD
0D41 :93
D0
06
18
20
92
A4
A9
D9
0FC9:AO
01
D0
80
0D
00
AD
10
09
1251 :20
87
AA
28
B0
lA
20
81
EE
0D49:93
48
20
08
AB
63
86
29
F8
0FO1:O0
29
BF
80
10
00
29
01
8A
1259:AA
A9
Fa
A0
B0
A2
08
20
A6
0051:84
2A
E0
18
D0
0C
C9
0D
20
0FD9:4A
6A
6A
0D
10
D0
8D
10
C4
1261 :EF
AA
20
67
AA
A0
07
B9
44
0D59:F0
A9
C9
80
F0
A5
C9
11
2B
0FE1:O0
A9
02
80
2D
D0
80
2E
El
1269:41
00
99
88
AF
88
10
F7
Al
0D61:F0
Al
24
0C
50
21
C9
90
09
0FE9:D0
A9
60
8D
15
D0
A9
IF
IE
1271:A9
20
8D
15
00
60
A0
00
BE
0D69:F0
ID
C9
10
F0
19
C9
91
5F
0FF1:8D
F8
CB
20
B6
A3
8A
38
22
1279:A6
10
00
02
C6
11
C6
10
47
0D71iF0
15
C9
11
F0
11
20
AC
4C
0FF9:E5
29
85
3D
98
38
E5
2A
75
12ai:A6
0E
D0
02
C6
0F
CA
86
45
0D79:A0
A6
29
A4
2A
18
20
F0
OF
1001:85
3E
A9
18
38
E5
3D
85
83
1289:0E
20
31
AC
Bl
0E
20
39
EC
0D81:FF
20
C3
Ai
4C
9A
A0
20
64
1009:3B
A9
27
38
E5
3E
85
3C
09
1291: AC
91
10
E4
5F
00
El
A6
69
0D89:AC
A0
20
08
AB
E0
18
D0
88
1011:AO
00
00
SO
0E
00
AD
01
0B
1299 :0F
E4
60
00
DB
60
85
0E
11
0D91:0C
C0
27
00
08
A4
2A
A6
Al
1019:D0
8D
0F
D0
AD
10
00
29
6C
12A1:86
0F
A0
00
Bl
0E
F0
0E
96
0D99:29
18
20
F0
FF
20
30
A6
E8
i021:7F
8D
10
00
29
01
4A
6A
BF
12A9:C9
02
F0
0B
20
D2
FF
C8
17
0DA1:20
F5
A0
20
BF
A0
20
DC
FC
1029:00
10
00
8D
10
00
A9
E0
BE
12B1:D0
F2
S6
0F
D0
EE
60
C8
94
0 DA9 : A0
20
E8
A0
4C
00
A0
C9
B0
1031:80
15
00
A6
29
A4
2A
18
2A
12B9:B1
0E
AA
ca
Bl
0E
20
D2
F4
0DB1:0D
F0
04
C9
SD
00
08
E8
54
1039:20
F0
FF
A9
IE
80
F8
CB
25
12C1:FF
CA
00
FA
F0
E9
20
30
02
0DB9:A0
00
13
20
F0
FF
60
4C
BD
1041:20
AC
A3
20
B6
A3
A5
0E
B0
1209 :A6
A9
01
00
15
00
8D
15
BB
0DC1:D2
PF
24
00
50
18
A0
00
BE
1049:85
50
A5
0F
85
51
A5
10
B2
12D1 ;D0
AD
27
00
49
01
80
27
4C
0DC9:B1
0E
49
80
91
0E
29
3F
07
1051:85
52
A5
11
85
53
A5
4C
9F
12D9:D0
A9
14
85
13
85
12
20
9E
0DD1:C9
20
D0
0A
AD
21
00
29
50
1059:85
0E
A5
40
85
0F
A9
00
05
12E1:F3
A9
AA
A5
91
49
FB
00
94
0DD9:0F
CD
89
AF
F0
07
60
24
A3
1061:85
10
A9
F8
85
11
20
E7
A5
12E9:06
A9
80
85
55
30
00
E0
48
0DE1 :0D
10
07
A0
00
AO
86
02
37
1069: A3
A5
4E
85
0E
A5
4F
85
12
12F1:85
90
04
E0
80
90
F2
A9
09
P2 COMPUTE) April 19B6
12F9:
1301:
1309:
1311:
1319:
1321:
1329:
1331:
13 39:
1341 :
1349;
1351:
1359;
1361:
1369:
1371;
1379:
1381;
1389;
1391;
1399;
13A1;
13A9;
13B1;
13B9;
13C1 ;
13C9;
13DI;
13D9i
13E1;
13E9;
13F1;
13F9;
1401:
1409:
1411;
1419:
1421;
1429:
1431
1439
1441
1449
1451
1459
1461
1469
1471
1479
1481
1489
1491
1499
14A1
14A9
14B1
14B9:
14C1
14C9:
14D1
14D9;
14E1 :
14E9:
14F1 :
14F9:
1501:
15 09;
1511:
1519:
1521:
1529:
1531:
1539:
1541 ;
1549;
1551 ;
1559:
1561:
1569:
1571;
1579:
55 A0
15 D0
20 92
95 08
B3 AF
A2 D6
A9 04
C6 A9
20 F0
E9 28
69 18
10 AD
8D 10
10 69
0A 26
10 90
65 10
65 0F
60 A0
0E E4
11 F0
0F D0
CB 38
A9 93
14 85
AC 20
20 9B
A6 39
A9 B6
00 85
:FE 2D
60 18
;90 AF
:22 BD
:F8 78
;8D FF
;4C 76
;10 38
;90 03
;26 10
102 E6
;05 10
;0A 85
A5 10
:18 65
;10 18
;A9 C8
i85 11
;0E A6
:0F E4
;EE E6
;8D E7
;CD AA
:00 65
:FF A2
:A2 AF
:4C Ea
:00 A0
;A5 4C B4
:0D F0 43
j30 90 E7
:D2 FF 29
:15 06 14
:14 26 IS
:14 BA 65
:06 14 26
:14 65 14
:B1 85 15
:85 IC A5
:A9 DC A2
:1D A9 00
:1B AS 47
:15 AB 20
:D0 30 A9
:0E AA A9
:AA 4C 87
:20 15 AB
:AB D0 0F
:20 0E AA
:41 AA 20
:5B AA BD
:A5 42 20
:8E 87 AD
:04 A9 FF
:8F AD 20
rAE 20 9B
:07 A9 76
rA9 8A A2
:6C AA 24
:A9 A0 27
:F0 0F C9
:D0 0B 20
:04 A9 20
;C6 26 D0
:10 85 06
:85 09 4C
;09 A2 00
;20 0E AA
;20 CC A9
:10 F6 A9
:9A AA C6
AS 84 25
;CC A9 AA
;15 A9 92
:4C SB A8
;12 85 09
:48 50 02
:12 A4 24
:F0 09 85
;20 2E AA
00 84
8D 15
A4 A2
CA 10
95 39
A0 AF
8D 88
00 85
FF 98
A8 0A
8D 00
10 D0
00 8A
32 8D
0F 0A
02 E6
85 0E
85 0F
00 A9
10 D0
08 E6
EA 60
20 92
20 02
15 85
9B A5
A5
20
A2 AC
12 A9 14
00 8A BE
22 BD 44
F8 A2 C9
CA 10 68
18 20 B7
02 58 76
0F 85 48
C9 28 A6
0A 0A BB
D0 90 D3
29 FE 24
0A 0A 87
01 D0 21
26 0F 06
0F 84 56
85 10 DA
69 10 97
20 91 45
06 A6 EE
0E D0 7A
A9 20 34
A4 20 42
FF A9 CD
40 A9 05
A9 15 04
C3 A5 C5
A4 4C FE
20 9B 6C
A6 20
C9 20
C9 3A
0F AS
26 15
B0 CD
15 B0
15 B0
A5 15
4C El
15 C9
AC 4C
85 lA
29 10
53 AB
00 8D
D6 A2
A7 24
20 53
A9 3A
A9 FD
0E AA
7E AD
5B AA
A5 46
D0 02
53 AB
AS 20
A2 AD
AO 20
48 70
20 CC
A0 F0
D5 A9
91 16
DD 20
A0 00
0E A8
86 54
20 8F
C9 20
11 20
26 D0
E6 24
30 0E
85 09
24 09
20 2E
29 3F
20 D5
08 A8
8A 29
C3 A5
F0 E4
80 E3
A5 14
B0 03
65 14
C4 85
BC 98
69 00
A6 A5
FA 90
OB A6
A9 D0
F0 ID
20 6D
B7 AD
AD 20
48 50
AB 20
8D B7
A2 AD
A5 41
8E 7D
8D 88
29 02
A9 3 2
A9 72
F9 A9
4C C9
41 AA
26 20
A9 C9
04 C9
C5 42
88 10
E0 A9
20 CC
A9 92
CA 66
AA A0
D0 12
2E AA
E8 4C
A4 24
24 09
20 2E
10 07
AA 8A
C9 20
A9 C5
09 70
7F C9
C9 14
C9 30
20 6A
A6 4A
06 33
85 24
15 9C
65 6E
B0 90
14 FB
07 8B
85 31
85 59
20 82
AB 8C
20 Fl
41 2B
lA 62
6D 50
AD 40
20 23
20 70
AD FB
AD 29
F0 CE
8D F3
A2 Dl
D0 IC
A7 AA
20 14
E0 21
60 E6
E0 95
D0 58
E3 7A
A9 B6
A9 63
85 39
24 CF
27 BD
88 51
20 8E
D5 27
20 08
30 D7
AA E2
A9 10
24 66
F0 E8
08 35
Mr 44
20 38
1581
1589
1591
1599
15A1
15A9
15B1
15B9
15C1
15C9
15D1
15D9
15E1
15E9
15F1
15F9
1601
1609
1611
1619
1621
1629
1631
1639
1641:
1649:
1651:
1659;
1661:
1669:
1671:
1679;
1681:
1689:
1691:
1699;
16A1:
16A9:
16B1:
16 B9;
16C1
16C9
16D1
16D9
16E1
16E9
16F1
16 F9
1701
1709
1711
1719:
1721
1729
1731
17 39
1741
1749
1751
1759
1761
1769
1771
1779:
1781:
1789:
1791:
1799:
17A1 :
17 A9:
17B1:
17 B9:
17C1:
1709:
17D1:
17D9:
17E1:
17E9:
17F1;
17F9:
1801:
:90 08
;90 03
:20 2E
:16 A5
;AA AA
;A9 00
;9A AA
:C9 27
;0E AS
;00 20
:0A A8
;A5 20
:A9 22
:F9 A9
;A5 28
;6C AA
;AA A5
;5B AB
:6C AA
iAA 4C
;20 5B
:20 6C
;41 AA
;A2 AD
;1D 20
;20 9B
;41 AC
;02 C6
:FA 90
;A7 A5
:A5 IB
:85 0E
:A5 2E
:C5 3B
:90 14
:AS A9
:20 F3
:95 2D
:20 73
:1B 85
D0 85
C6 20
:81 AA
20 81
:29 0F
;00 85
1 17 A9
FF F0
iFB C9
107 06
:60 A9
AA A5
;20 2E
;E6 40
;60 20
I 20 39
:1B E6
AJ3 00
;20 2E
;11 C9
;29 0F
:18 69
:1A 85
14 85
40 85
01 60
58 60
22 20
65 16
E6 17
;AD 20
A9 99
28 A6
20 02
:A9 0F
A9 28
16 00
0B 80
D0 60
■84 0E
as 00
C9 40 90
18 69 20
AA AS 24
54 C9 47
20 0E AA
85 54 4C
C6 26 F0
D0 06 20
A9 22 20
2E AA 20
20 AA AA
85 lA AS
A2 AD 20
D0 46 AS
85 15 20
A9 96 A2
47 29 10
00 26 20
A9 E9 A2
2F A9 24
AB D0 0D
AA A9 C2
AS 3F F0
20 9B AS
41 AC A9
A5 A6 27
4C B4 A6
26 C6 27
06 20 B5
lA 33 E9
E9 D0 85
18 65 10
85 0F 65
90 lA 00
A9 5 7 A2
15 A2 AF
A9 4C D0
CA 94 2D
A5 AS lA
0F A9 00
60 20 73
B5 AA 4C
Bl 16 20
AA Bl IB
60 A9 19
16 85 18
FC 85 19
FB 60 20
59 F0 0B
A9 4E 20
FF 20 2E
14 20 2E
AA 20 85
E6 14 00
31 AC A0
AC E6 lA
54 60 85
Bl 10 C9
AA E6 10
00 00 EB
C9 0A 90
26 60 69
20 AS IB
27 AS 15
3F 60 78
48 A9 26
A9 99 20
2E AA 60
85 16 as
E6 19 60
41 AA 20
A2 AC 20
27 20 41
FF 60 A9
8D 21 D0
80 18 00
AD 11 D0
11 00 A9
85 0F 84
84 10 Bl
F9 E6 0'f
0A C9
18 69
C5 2 5
90 9C
20 8F
38 A8
IC A5
AA AA
2E AA
6C AA
20 6C
21 85
9B AS
27 85
0E AA
AD 20
F0 15
0E AA
AD 20
46 50
20 0E
A2 AD
IF A9
A6 IC
53 A2
AS 28
A5 27
A5 28
AA 4C
00 85
11 A5
85 10
11 85
04 C4
AD 20
20 9B
A6 A2
CA 10
85 0E
85 5F
AS 20
96 A9
87 AA
20 87
85 26
A9 F8
60 20
E4 FF
C9 00
D2 FF
AA 20
AA AS
C6 90
02 E6
00 91
D0 02
10 86
FF F0
D0 02
60 A2
06 A2
30 60
85 21
85 28
A9 25
65 01
2B AA
A9 28
18 90
A9 93
6C AA
98 A5
AC A9
00 F0
8D 20
A9 C8
29 10
00 8D
11 A0
0E 91
E6 11
60
D3
20
AA
F0
7A
20
35
AA
50
20
53
24
76
4C
SA
A9
20
4C
C0
AA
33
IB
09
20
73
14
E2
20
A9
41
F0
20
F5
20
FB
41
3F
12
23
AA
66
20
ac
36
DE
AS
85
AO
84
20
CB
D0
09
C9
93
35
18
10
04
20
6A
AS
A4
11
39
37
Bl
9B
50
A5
AA
05
40
F8
3C
A5
82
A9
CF
7C
B4
20
F2
60
D5
AA
El
A9
El
85
71
E4
7B
F0
60
F0
64
28
4B
2E
66
15
07
02
AC
15
6A
lA
CA
E6
C8
11
01
03
32
E6
80
FF
B5
31
04
A5
3B
A5
43
A5
07
85
59
68
A5
A9
8B
18
63
04
CB
A2
F2
60
F9
A5
A2
0D
Bl
02
F3
00
2A
6D
66
09
6A
15
AD
00
EB
10
78
CA
58
1809
1011
1819
1821
1829
1831
1839
1841
1849
1851
1859
1861
1869
1871
1879
1881
1889
1891
1899
IBAl
18A9
18B1
18 B9
18C1
18C9
1801
18 09
18 El
18 E9
18F1
18F9
1901
1909
1911
1919
1921
1929
1931
1939
1941
1949
1951
1959
1961
1969
1971
1979
1981
1969
1991
1999
19A1
19A9
19B1
19B9
19C1
19C9
1901
1909
19E1
19E9
19F1
19F9
1A01
1A09
lAll
1A19
1A21
1A29
1A31
1A39
1A41
1A49
1A51
1A59
1A61
1A69
1A71
1A79
1A81
1A89
1A91
:D0 F2
:28 90
:20 53
:9B A5
:0E AA
:5B AA
:A5 44
:8E B5
;8D C0
!A2 AD
;A2 AE
:A2 AE
:AE 20
:A9 26
:F9 A9
:90 AF
:39 90
:D6 A0
:20 8A
:A9 C6
:14 03
:A9 00
:12 85
:03 C9
:A0 00
:80 00
:A9 04
:AA AD
:0D A9
:O0 29
:A9 C8
:F8 CB
sCB 88
:CB A9
:B9 80
:F7 A9
:80 10
:20 D2
:85 01
:01 68
:A2 03
:FB A0
:F8 AS
:59 65
:5A 85
:A2 02
:4A 20
:8A AC
:03 20
:FB 09
:20 90
:0D 4C
:4E 45
:52 20
:00 93
:49 4E
:45 4E
:2A 92
47 41
IC 4C
40 42
!4S 45
:39 39
:0O 00
:45 52
:4E 49
:45 20
:20 4F
:44 44
• 4C 4F
:00 93
:49 53
:49 4E
:57 45
:20 00
:2A 2A
:4F 46
:59 20
:00 97
:30 30
:31 2C
:31 34
60 38
04 98
AB A9
20 F9
20 6C
80 AC
20 5B
AO A5
AD 8E
20 41
20 9B
20 9B
9B A5
A2 AE
60 A2
CA 10
B3 AF
AF 38
FF A9
8D 19
A9 C6
8D 27
0C 80
C6 F0
03 80
03 A9
A0 CB
02 00
00 8 0
02 09
8D 88
A0 04
00 FA
IF 80
AF 99
3C 8D
00 8D
FF 60
68 60
5S 60
A9 00
0F 06
58 65
59 85
5A D3
B5 58
8A AC
CA 10
8E AC
30 35
90 00
41 53
20 4E
55 53
12 IC
56 41
54 52
20 54
49 4E
49 4E
45 52
44 S3
20 4C
00 0D
20 42
4E 47
4E SS
52
20
4F 50
IC 02
54 49
45 53
45 4E
93 02
2A 20
20 40
2A 2A
35 33
3A 97
30 30
32 29
20 F0
E9 28
5 5 A2
A9 00
AA A5
AD 8E
AA 80
45 20
BF AD
AA 60
A5 60
AS A9
20 F9
20 9B
22 B5
F8 A2
CA 10
20 8D
EF 80
03 A9
80 15
D0 85
17 D0
13 80
CI C6
C6 80
A2 04
09 03
00 00
28 80
02 A9
A9 10
A9 IE
FF CB
04 D0
10 00
IB 00
78 48
48 A9
86 56
95 58
56 26
SB 85
59 A5
58 88
48 4A
68 29
ED AS
60 C5
5B 4C
93 IF
54 20
55 40
45 44
2A 2A
4C 49
59 20
52 59
2E 00
45 20
20 45
20 36
49 40
97 45
45 47
20 4C
40 42
00 00
41 49
3F 20
0A 0D
4E 47
20 42
20 00
0A 00
4F 55
45 40
2A 92
32 38
35 33
3A 99
22 93
FF C0
A8 60
AE 20
2E 20
43 20
AB AD
B6 AD
5B AA
A9 A4
A9 10
A9 91
26 A2
A9 60
AS 20
08 90
22 B5
F8 A2
FF 78
18 03
9A SD
03 58
0D 85
AD 01
C2 C6
A9 BC
01 03
20 EF
BD 02
AD 18
18 D0
IC 60
99 F9
80 FE
A0 07
68 10
A9 IC
A9 13
A9 24
26 85
85 57
CA 10
57 78
58 AS
5A 65
10 E3
4A 4A
0F 20
5B 00
5B F0
02 FF
02 0A
4C 49
42 45
3A 20
2A 20
44 20
2A 2A
20 41
00 00
4E 55
58 43
33 39
49 54
4E 54
49 4E
49 4E
45 52
0D 41
54 20
59 90
45 58
20 4C
45 54
20 26
IC 12
54 20
4F 52
00 00
30 2C
32 36
C7 28
22 3B
73
25
F0
39
68
E2
AO
42
BB
90
D7
0F
63
lA
DC
8C
5A
7E
FF
ID
65
17
07
E8
43
35
05
62
37
IE
E7
E5
EC
C7
5C
4D
DE
8A
3C
0F
76
5E
02
98
EB
FB
IB
0C
A3
14
IE
CF
E6
C4
43
3B
AB
30
C0
OF
2B
4F
46
F0
C4
10
67
E3
02
19
5 0
2A
7C
77
FE
15
FF
05
6C
AD
5A
23
April 1 P&6 COMPUTEI 93
1A99
lAAl
1AA9
lABl
1AB9
lACl
1AC9
lADl
1AD9
lAEl
1AE9:
lAFl ;
lAF9i
lB0i;
1B09;
IBll!
1B19:
1B21:
1B29;
1B31 ;
1B39;
1B41 ;
1B49!
1B51 ;
1B59J
1B61:
1B69;
1B71 :
1B79:
IBSl:
1B89:
1B91:
1B99:
IBAl :
1BA9 :
IBBl:
1BB9:
IBCl:
1BC9:
IBDi:
1BD9:
IBEl :
1BE9 :
IBFl:
1BF9:
lC0l!
1C09:
ICll:
1C19!
1C21:
1C29:
1C31 :
1C39:
1C41 :
1C49:
1C51 :
1C59:
1C61:
1C69:
1C71:
lC79i
1C81;
lC89i
1C91:
lC99i
ICAli
lCA9i
ICBli
lCB9i
ICCli
1CC9:
ICDl:
1CD9:
ICEl I
lCE9i
ICFl
1CF9;
1D01
1D09
:00 97
:92 31
i35 33
:3A 97
:30 30
;34 2C
;32 36
;32 36
00 97
iC2 28
B0 31
37 30
37 30
97 35
28 3 5
36 34
20 4C
20 S3
m 45
44 20
4F 55
45 20
54 49
4F 44
42 41
4E 44
54 45
3F 20
4B 47
26 20
20 43
20 59
44 20
4F 20
46 46
02 05
20 4B
33 20
4C 45
53 02
00 0D
04 B7
41 43
44 20
45 52
02 04
6C 02
0D 0D
50 52
50 41
52 20
43 52
92 00
87 B8
18 lA
3B A2
41 Al
13 A2
A2 A6
7D Al
IE IF
99 9A
B3 50
A4 20
9 3 C6
20 93
C6 A9
27 35
IB C6
13 AD
D0 AD
D0 8D
,0B F0
8D DB
A0 04
DC C6
D9 EA
:68 68
;49 45
31 39
39 38
32 38
35 33
3A 97
30 30
35 2C
35 29
35 33
35 33
36 00
2C C2
29 AF
33 32
33 32
00 0D
49 4E
45 54
58 54
42 41
4E 44
4F 52
43 4F
45 3F
43 4B
20 52
52 53
59 9D
52 4F
42 4F
4F 4C
9D 00
4C 49
54 55
00 00
20 50
45 59
54 4F
20 43
05 20
97 02
70 0D
4B 47
52 45
20 20
20 A7
04 AF
0D 12
45 53
43 45
57 4F
45 45
89 8A
02 14
0B 03
2B Al
Al Al
8F A4
05 Al
94 90
9E 81
9B 00
F2 20
9 3 C6
20 33
C6 20
26 85
01 68
13 D0
27 D0
2D D0
2E D0
03 4C
C6 A5
AD DB
CE DB
C6 D0
4C 70
40 AA
38 2C
2C 31
32 2C
32 38
35 33
00 97
C2 28
AF 31
32 37
32 37
97 35
28 35
32 33
36 35
36 35
0D 41
45 20
20 55
45 4E
43 4B
20 4D
0D 4D
4C 52
20 59
47 52
45 47
20 31
00 42
55 4E
52 44
4F 52
0D 0D
4E 45
52 4E
93 0D
52 45
53 20
20 43
4F 4C
92 02
ID 20
02 05
52 4F
47 49
30 20
0D 02
BA 00
IF 02
53
27
52 4B
4E 02
SB 8C
0D 0F
15 Al
CD Al
50 Al
15 A4
5F Al
05 10
95
63
8E C6
4C 69
A5 4C
13 A6
01 60
60 A5
17 A9
49 01
49 01
4C 31
SB E3
7B 80
C6 D0
C6 AD
DE 88
06 47
00 00
30 3A 7A
00 97 03
30 30 El
33 2C C7
32 38 E5
35 33 20
35 33 62
39 31 CB
30 2C C8
30 29 53
33 32 B3
33 32 2E
39 00 C6
2C C2 7B
29 80 B3
44 44 7A
54 4F 23
50 0D 2E
44 45 32
47 52 16
4F 44 93
55 40 05
20 4D 92
9D 00 7E
4F 55 95
49 53 26
2D 33 ED
41 43 23
44 20 F2
45 52 90
53 3F F8
41 44 45
20 54 34
20 4F C2
IC 12 51
53 53 D4
31 20 BB
59 43 ID
4F 52 4C
03 00 84
6F 02 B0
20 42 60
55 4E 38
53 54 4B
20 A5 55
ID 20 84
0D 00 97
06 20 03
27 53 A8
46 4F 24
20 53 OF
05 20 41
85 86 B4
08 10 A5
35 Al E0
B0 Al 47
03 Al 99
IF A6 AA
66 Al 47
9F 9C E0
97 98 4 3
8B 00 02
4C ID 55
FE 20 29
8E C6 C6
4C BE 04
46 A9 90
12 F0 34
14 85 AD
80 27 71
80 20 IF
EA E0 66
A5 7A AA
DC C6 90
03 CE 35
01 08 OS
10 EA E3
45 4E 46
00 00 EB
Screen
Saver
64
Stephen E, Masters
Here are two fast, useful routines for
storing and retrieving high-resolution
graphics screens with a disk drive.
They work with the Commodore 64 or
Commodore 128 in 64 mode.
Taking advantage of the Commo-
dore 64's high-resolution graphics
can be a time-consuming process at
best. Even with extra commands
such as those found in Simons'
BASIC, it may take many minutes
or even hours to plot a detailed
screen. Utilities for dumping a
high-resolution screen to your dot-
matrix printer are readily available.
At times, however, you may wish
to save your graphics screen in a
disk file so you can display it later
without rerunning the program that
created it. And if you own an Oki-
mate 10 or similar color printer, the
ability to save multicolor graphics
screens is particularly useful.
"Screen Saver 64" provides
two machine language (ML) rou-
tines that let you quickly save and
retrieve hi-res graphics screens —
both standard and multicolor —
from disk. Though they're written
in ML, you can use them without
knowing the ins and outs of ML
yourself. And we've included two
demonstration programs that show
exactly how to use the ML routines
for real applications.
To get started, type in and save
Programs 1 and 2. Program 1 puts
the screen save routine into memo-
ry, and Program 2 creates the
screen retrieval routine. Since both
ML routines go into the same mem-
ory area, they must be used sepa-
rately. If you have an ML monitor
and wish to examine the routines,
note that each is broken into two
parts, located from memory loca-
tions 679-738 and 828-1023
(decimal).
Saving A Graphics Screen
Here are the steps for saving a
graphics screen with Screen Saver
64:
1. Run Program 1 to place the ML
screen save routine in memory.
2. Create your hi-res or multicolor
screen as usual. If you don't know
how to do this, the Commodore 64
94 COMPUTEI April 1986
Programmer's Reference Guide and
many other books explain the re-
quired steps. Program 3 (see below)
contains a simple demonstration.
3. Execute a statement like OPEN
2,8,2,"fUename,F,W' to open a disk
file for writing (replace filename
with the name of your own file).
You must open the file as a PRG
(program format) file using the ,P
suffix as shown above. The ,W suf-
fix indicates that you're opening the
file for a write operation, and the
first numeral 2 sets the logical file
number (2 in this case) for that file.
4. Execute SYS 1007 to activate the
ML save routine. This must be done
while you are in hi-res or multicolor
mode. The ML routine finds the cur-
rently defined graphics screen and
associated color memory, and
stores their contents in the disk file.
5. Execute a statement like CLOSE
2 to close the file. It is very impor-
tant that you end the procedure by
CLOSEing the file, specifying the
same logical file number (2 in this
case) which was used to open it. If
you omit this vital step, you may
end up with a poison (unclosed) file
on the disk that could damage other
files or render the whole disk
unreadable.
Retrieving A Graphics
Screen
Once you have saved the screen to
disk, it's easy to retrieve. Here are
the steps to follow for bringing a
graphics screen back into memory:
1. Run Program 2 to put the ML
retrieval routine in memory,
2. Perform the steps needed to en-
ter the appropriate hi-res or multi-
color graphics mode.
3. Execute a statement like OPEN
2,8,2,"filename,P,R" to open the
disk file for reading (input). Again,
the ,P suffix specifies a PRG file,
and the ,R suffix opens the file for
reading.
4. Execute SYS 881. The ML routine
loads the graphics data back into
the right memory locations.
5. Execute a statement like CLOSE
2 to close the disk file. Again, you
should use the same logical file
number (2 in this case) used when
opening the file.
6. At this point you can continue
with a BASIC program or do what-
ever else you like.
Graphics Demonstrations
Programs 3 and 4 contain practical
demonstrations of how to use these
two routines from BASIC. Type in
and save both programs, then load
and run Program 1 to put the ML
save routine in memory. Now load
and run Program 3. This program
uses the hi-res drawing example
from pages 123-126 in the Commo-
dore Si Programmer's Reference
Guide. Lines 110-140 define the hi-
res screen and color memory to
start at locations 8192 and 1024,
respectively, then clear the graphics
screen. Lines 150-230 draw a sim-
ple sine wave pattern. (Be patient; it
takes a few minutes to complete the
drawing.) Line 270 opens the disk
file using 2 as the logical file num-
ber and SINEWAVE.HIRES as the
filename. After checking the disk
error channel, the program calls the
ML save routine.
The sine wave disappears as
the hi-res memory is moved tempo-
rarily to a new location and stored
in the disk file. Then the routine
moves the picture back to its origi-
nal location, saves color memory,
and returns control to BASIC. After
checking the error channel again,
the BASIC program restores the
normal screen display and ends.
Program 4 shows how to use
the ML retrieval routine. Since it
looks for a file named SINEWAVE-
.HIRES on the disk, you can run it
only after you've used Program 3 to
create the file. Run Program 2 to
put the ML retrieval routine in
memory, then load and run Pro-
gram 4. Lines 110-130 define the
hi-res screen starting at location
24576, a different area than the one
it was saved from. Lines 140-150
fill the screen with a uniform pat-
tern. (Note that this is done only for
the purpose of demonstration, to
confirm that the retrieval routine
puts new information on the
screen. It is not necessary to clear
the graphics screen before using
this routine.)
Lines 160-190 open a disk file
for reading, using the same name as
Program 3 (SINEWAVE.HIRES),
After checking the error channel
(180-190), the retrieval routine is
called with SYS 881. The hi-res
screen is restored right before your
eyes; First the graphics information
appears, then color memory is
brought in as well. After a brief
pause, the program restores the
screen to normal and ends.
Inside The i\AL Routines
The ML save routine saves the cur-
rently defined graphics screen and
its associated color memory wher-
ever they are located — even if the
hi-res screen is stored in the RAM
underneath a ROM area. The ML
retrieval routine brings the stored
screen back into whatever area you
have currently defined as the
graphics screen, even if that's a dif-
ferent location from the area from
which it was saved. This lets you
create and store a complex graphics
display using one particular graph-
ics aid (Simons' BASIC, etc.) and
retrieve it for use by any other
program.
Since sprites are independent
of other graphics, these routines
can't store or retrieve sprite shapes
that appear on the screen.
To make this routine compati-
ble with as many programs as pos-
sible, memory usage is restricted to
three areas. It uses memory loca-
tions 679-738 (normally unused)
and 828-1023 (the cassette buffer)
to store the routines, and also zero-
page locations 2 and 251-254. To
save a screen, the ML routine first
looks in locations 56576 and 53272
to locate the graphics screen and
normal screen memory (which be-
comes the hi-res color memory). It
then swaps the 8K bytes of hi-res
RAM memory with the contents of
locations 24576-32767 ($6000-
$7FFF). This is done by "turning
off" the computer's ROM chips
temporarily so the swapping rou-
tine can see hi-res memory no mat-
ter where it's located. Then the
routine switches the Kernal ROM
back in to write the 8,000 bytes of
hi-res information to the disk file,
and moves the hi-res screen back to
its original location. The 1,000-byte
screen memory area is written di-
rectly to the disk file.
Note that since no memory
swapping is done for color memo-
ry, this part of your screen must be
located in a memory area that's not
normally hidden by ROM.
Finally, the normal color mem-
April 1986 COMPUTE! 95
ory at 55296-56295 {used in multi-
PX
350
DATA208,242,2 30,252,208
Program 3: Screen Saver
color mode) as well as the screen
MX
360
,238, 200
DATA15 2,201,64,208,2 32,
Demo
background byte at 53281 is written
96, 160,0
to disk. The final disk file is 10,003
FC
370
DATA132,251,173,168,2,1
DG
100
REM PROGRAM 3 SCREEN SA
VE DEMO
BASE=2*4096:POKE5327 2,P
bytes (40 blocks) long. Two extra
FA
380
33,252,177
DATA251, 32,210,255, 165,
HS
110
bytes are added at the beginning of
252 , 205, 167
EEKC53272)OR8
the file to make it compatible with
SH
390
DATA2 , 240 , 7 , 200 , 208 ,2 41
BH
120
POKE5326 5,PEEK{53265)OR
32
FOR I=BASE TO BASE+7999
version 3.0 of the Okimate Color
Print program.
MD
400
,230,252
DATA208,237,200,152,201
BK
130
,232,208
: POKEI, 0:NEXT
The retrieval routine works in
JB
410
DATA2 3 1,160, 0,1 32, 2 5 1,1
KD
140
FOR I=1024TO2023:POKEI,
reverse, finding where the graphics
screen and color memory are locat-
XS
420
69,216,133
DATA2S2, 177,251,32,210,
255 165 252
HS
RF
150
160
3 : NEXT
FOR X=0 TO 319 STEP. 5
Y=INT(90+80*SIN(X/10))
ed in the current configuration,
JD
430
*- -J -i 1 X,^ -J f .£- ^ £.
DATA201,219,240,7,200,2
KR
170
CH=INT(X/8)
then restoring everything to the
08,242,230
QC
RF
AR
180
190
200
RO=INT(Y/8)
LN=YAND7
BY=BASE+RO*320+e*CH+LN
correct memory locations. Since
XE
440
DATA252,208,238,200,152
,201,232
DATA208,2 32 , 17 3 , 33 , 208,
RAM can be POKEd even if it's
XC
450
GX
210
BI=7-CXAND7)
under ROM, no memory swapping
32,210,255
BX
220
POKEBY , PEEK ( BY ) OR ( 2 T BI )
is required and the contents of the
PH
460
DATA32,204,2 55,96,32, 17
6,2,32,60
DATA3,3 2,113,3,32,60,3,
AP
EG
230
240
NEXT X
POKE1024,16
disk file are moved directly into the
MX
470
GH
250
FOR 1=1(2 SPACES 3T0 100
appropriate memory areas.
32, 163,3,96
BM
JK
260
270
0:NEXT(2 SPACES] I
OPEN15,8,15
OPEN2,8,2, "SINEWAVE.HIR
For instrucfions on entering these listings.
ES,P,W"
please refer to "COMPUTEI's Guide to Typing
In Programs" in this issue of COMPUTE!.
Program 2: Screen Retriever
RJ
AG
280
290
1NPUT#15,Z1,Z25,Z3,Z4
IF Z1<>0 THEN CL0SE2:CL
64
0SE15:PRINT Z1;Z25;Z3;Z
Program 1 : Screen Saver 64
PR
100
REM PROGRAM 2 SCREEN RE
MX
300
4:GOTO350
SYS 100 7
CS 100 REM PROGRAM 1 SCREEN SA
TRIEVE
AS
310
CL0SE2
VER 64
PE
110
SU=0 :FORI-6a8T073a ;READ
AN
320
INPUT#15,Z1,Z25,Z3,Z4
PE 110 SU=0iFORI=688TO73a:READ
X:SU=SU+X:POKEI ,X:NEXT
RS
330
IF Z1<>0 THEN CL0SE15:P
X:SU=SU+X:POKEI,X:NEXT
HE
120
IFSU<>48 5 5THENPRINT"ERR
RINT ZlrZ25;Z3,-Z4
CK 120 IFSU<>4855THENPRINT"ERR
OR IN DATA IN LINES 160
MH
340
FOR 1=1 TO 1000:NEXT I
OR IN DATA IN LINES 170
-180" :STOP
MM
350
POKES3265 ,PEEK( 53265 )AN
-220": STOP
JQ
130
SU=0;FORI=881TO1004:REA
D 223
QX 130 SU=0:FORI=82eTO1022:REA
DX :SU=SU+X: POKEI, X: NEXT
DF
360
POKE53272,PEEK(53272)
DX : SU=SU+X i POKEI , X : NEXT
XK
140
IFSU<>21290THENPRINT"ER
(2 SPACES }AND 247
PQ 140 IFSU<>31598THENPRINT"ER
ROR IN DATA IN LINES 19
DR
370
END
ROR IH DATA IN LINES 24
0-2 50" :STOP
0-470": STOP
HM
150
PRINT "SCREEN RETRIEVE I
SR 150 PRINT"SCREEN SAVE INSTA
NSTALLED";END
LLED":END
KB
160
DATA17 3,0,221,41,3,7 3,3
Proaram 4: Screen Retriever 1
MS 170 DATA173,0,221,41,3,73,3
,10,10,10,10,10,10, 133,
r\.^
*^
,10,10,10
254,173,24,208
Demo
QP 180 DATA10, 10, 10,133,254, 17
3,24,208
QJ 190 DATA41,8,10,10,101,2 54,
133,2, 105
PD
170
DATA41,8,10,10,101,254,
XF
100
REM PROGRAM 4 SCREEN RE
133,2,105,31,141,169,2,
173,24,208,41,240
PH
110
TRIEVE DEMO
POKE56578,PEEK(56578) O
DA 200 DATA3I,141,169,2,173,24
KP
180
DAT A74, 74, 2 34, 234, 101,2
R 3:P0KE 555 76 ,( PEEK ( 56
, 208, 41 ,240
54,141,1^8,2,105,3,141,
576)AND252)OR 2
DB 210 DATA74,74,234,234,101,2
167,2,96
HD
120
BASE=6 * 4096 : POKES 3 2 7 2 , P
54,141,168
PC
190
DATA32,176,2,162,2,32,1
EEK(53 27 2)ORa
XM 220 DATA2,105,3,141,167,2,9
98,255,32,207,255,32,20
FG
130
POKES 3 26 5, PEEK (53 26 5) OR
6
7,255,234,160,0,132,251
32
KB 240 DATA160,0,132,251,132,2
AH
200
DATA165,2,133,252,32,20
FM
140
FOR I=BASE TO BA3E+7999
53, 165,2,133
7,255,145,251,165,252,2
:POKE I,66:NEXT
PH 250 DATA252,169,96,133,254,
05,169,2,240,7,200,208
CS
150
FOR 1=16384+1024 TO 163
120, 165,1,72
QK
210
DATA241,230,252,20e,237
84+2023:POKE I,77;NEXT
MG 260 DATA41, 253, 133, 1,177, 25
,200,152,201,64,208,2 31
GE
160
OPEN15,8,15
1, 170,177
, 160,0,132,251, 173, 168,
QJ
170
OP EN2, 8, 2, "SINEWAVE.HIR
DA 270 DATA253,145,251,138,145
2
ES,P,R"
,253,200
FR
220
DATA13 3,2 5 2,3 2,207,255,
CC
180
INPUTS 15, Z1,Z2$,Z3,Z4
RK 280 DATA20B,243,230,252,23e
145,251,165,252,205,167
GG
190
IF Z1<>0 THEN CL0SE2:CL
,254,165
,2,240,7,200,208,241,23
0SE15:PRINT Zl;Z25;Z3rZ
HK 290 DATA254,201,12e,208,233
0
4:GOTO230
,104,133,1
AB
230
DATA252,208,237,200,152
RS
200
SYS 881
JH 300 DATA88, 234, 234, 234, 96,1
,201,2 32,208,2 31,160,0,
PJ
210
CLOSE2
62,2,32,201
132,251,169,216,133,252
MC
220
FOR 1=1 TO 2500:NEXT I
MD 310 DATA255,169,0,32,210,25
,32
DF
230
POKE56576, (PEEK ( 56576 ) A
5,165,2,32
JE
240
DATA207,255,145,251,165
ND252) OR 3
SX 320 DATA210,255,160,0,132,2
,252,201,219,240,7,200,
FR
240
POKE5327 2,PEEK(5327 2)AN
51,169,96
208,242,230,252,208,238
D247
RK 330 DATA133,252,234,234,177
,200
HD
250
POKE53265,PEEK(5326 5)AN
,251 ,32,210
SH
250
DAT A152, 201, 232, 208, 232
D223
XS 340 DATA255,165,252,201,127
,32,207,255,141,33,208,
@
,240,7,200
32,204,255,96,999
96 COMPUTE! April 1966
Atari FontMaker
Charles Bronnon, Program Editor
"fontMaker" simplifies the design of
character sets for all text modes on
Atari 400/800, XL, and XE comput-
ers. Although programmers will find
FontMaker a valuable addition to
their utility library, nonprogrammers
can also benefit. Next month, we
show how to use FontMaker to cus-
tomize Atari SpeedScript's special
character set. Whether you want Old
English or a computer age font, Font-
Maker has the tools you need to ex-
press your creativity. It requires at
least 16K RAM; disk drive
recommended.
"FontMaker" is a sophisticated
character editor written completely
in machine language to work with
all Atari text modes. Even though a
character set (or font) editor is a
handy utility for programmers, you
don't need to know anything about
machine language or programming
to have fun with it. We include a
simple subroutine that lets you load
and merge character sets with your
own BASIC programs. And next
month, we'll show how to use the
special ANTIC 3 character sets with
the Atari version of our SpeedScript
word processor (COMPUTE!, March
1986).
Since FontMaker is written in
machine language for speed and
compactness, you need to type it in
with MLX, our machine language
editor. See the MLX article else-
where in this issue for instructions
on typing in and using MLX to en-
ter machine language programs.
When you run MLX, answer
the first three screen prompts like
this:
Starting Address: 122BB
Ending Address: 14SB7
Run/Inil Address: 12288
Next you'll be asked "Tape or
Disk?". Although FontMaker can
load as a boot tape, it's much easier
to use with a disk drive. If you press
D for Disk, you'll be asked "Boot
Disk or Binary File?". Press F to
select binary file, FontMaker will
run from a boot disk, but without
DOS, there's no way to save or load
character sets. So make sure you
select F, since MLX can't convert
from a boot disk to a binary file.
At the first screen prompt,
12288:, start typing the data from
Program 1 . See the MLX article for a
list of commands that let you type
in a program in several sessions.
When you've typed the last line,
MLX prompts you for a disk file-
name. This will be the name under
which FontMaker is saved to disk.
If you're using Atari DOS 2. OS, 2.5,
or 3.0, you may use the filename
AUTORUN.SYS. This allows Font-
Maker to automatically load and
run when you turn on the computer
with the disk in the drive. Be sure
this disk also contains the DOS
files.
If you want to prevent loading
FontMaker automatically (especial-
ly if you haven't finished typing it
but want to save your preliminary
typing), you can rename AUTO-
RUN.SYS to some other name. You
can also load FontMaker from DOS
2. OS or 2,5 with menu selection L. If
you're using another DOS, such as
OS/A-f- or DOS XL, you may be
able to save FontMaker with a dif-
ferent name, such as FONT.COM
and type the command FONT to
run FontMaker.
Editing Characters
Assuming you've typed in and
saved FontMaker, run it and follow
along with this article. You'll see a
screen with a colorful 8X8 grid, a
list of brief instructions, and four
rows of characters at the bottom of
the screen (see screen photo).
When FontMaker starts, it asks
you to pick a character. You can edit
one character at a time. When
you're asked to select a character,
you can use the joystick to move a
cursor around in the four rows of
characters, then press the fire but-
ton to select the character high-
lighted by the cursor. Or you can
simply press the keyboard key cor-
responding to the character. Action
then shifts to the 8 X 8 character
editing grid.
Within the grid, you can move
the editing cursor (a hollow white
box) with either the joystick or the
cursor keys. You don't need to use
CTRL with the cursor keys to move
the cursor — CTRL-cursor up/
down/ left/right and SHIFT-cursor
up/down/left/right are reserved
for other features. When drawing in
the character grid, press the fire
button or the space bar to reverse
(toggle) the dot at the cursor posi-
tion. Previously set dots are turned
off, and blank spaces are turned on.
You can hold down the fire button
while you move the joystick to
draw lines and figures.
As you change the grid, you
can see the character in actual size
in the character set window. The
cursor highlights (reverses) the se-
lected character, but a row of the
April 1986 COMPUTEI 97
?.- t 2 Graph!
I t a 3 Rotate
phiCS Mod* i Pick
ate i Mlrrfi-
y ^ Bytes
J i<afy ^ "
gsav* font 3 I.
aas exit to t>o>
"Afari FontMaker" lets you design your
own custom character fonts for any
Atari text mode.
character you're editing is also dis-
played. In additiorx, there's a sam-
ple of text ("The quick brown fox
jumped over the lazy dogs") so you
can judge relative character height
and spacing.
To create an entirely new char-
acter, you may want to start by
pressing SHIFT-CLEAR to erase the
existing character pattern. This
gives you a clean canvas for your
design.
Undo Your Mistakes
If you don't like a change you've
made, press U to undo all the
changes made since you've selected
the character. Press U again to undo
the undo, restoring the change
you've made. You can press F to fix
a character, recopying its image
from the standard character set
stored in the computer's Read Only
Memory (ROM). It's important to
distinguish between these options:
U reverts to the previous character
image, F always gives you the ROM
image. If you change the letter A to
a spaceship, change B to a rocket,
then go back to A and change the
spaceship to an alien, U switches
between the alien and the space-
ship; F gives you the pattern for the
letter A. Beware that you can't undo
the Fix command.
If you hold down the OPTION
button while pressing F, the entire
character set is fixed, recopied from
ROM. This wipes out any changes
you have made to the character set,
so be careful.
To select another character to
edit, press P and use the joystick or
keyboard to pick the new character.
In some text modes (see the G com-
mand below), the joystick cursor
may seem to move strangely. It
consistently moves up or down be-
tween rows of 32 characters. Since
there are only 20 characters per line
in modes 1 and 2, these rows wrap
around the right margin. You move
left and right within a row of char-
acters, and up and down between
rows of 32 characters.
FontMaker can display the
character set in all Atari text modes.
These are GRAPHICS 0 (the de-
fault text mode), "GRAPHICS OVi"
(technically known as ANTIC 3, a
nine-line true-descender mode),
multicolor ANTIC mode 4, multi-
color ANTIC mode 5, GRAPHICS
1, and GRAPHICS 2. Press G to
cycle through these modes.
The SpeedScript
Character Mode
If you've never heard of the ANTIC
text modes, don't fret; they're not
normally accessible from BASIC.
The Atari SpeedScript word proces-
sor (and, incidentally, the PaperClip
word processor from Batteries In-
cluded) uses the ANTIC 3 mode for
large, readable characters. ANTIC
3, nicknamed GRAPHICS OVi, is a
special 40-column mode that lets
you define characters within an 8 X
10 character space. Other Atari text
modes have only an 8 X 8 charac-
ter grid. This means that ANTIC 3
characters can have true descend-
ers. (A descender is the part of a
character that drops below the line
of type, such as the tail on a lower-
case y or j.)
You still use just eight rows to
define a character in ANTIC 3, but
the character is positioned within
ten screen scan lines. For uppercase
characters, the eight rows of the
character, grid are displayed in rows
1-8 of the character matrix, with
two blank lines at the bottom of
each character, reserving space for
lowercase descenders. For lower-
case characters, the first two lines of
the character grid are forced blank.
The first two rows of the character
definition are actually displayed at
lines 9 and 10 of the character
space, making it easy to reserve
space for the descenders. The third
through eighth rows of the charac-
ter are displayed starting at the
third line of the character space.
This may sound confusing, but
fortunately FontMaker lets you de-
sign ANTIC 3 characters without
having to mentally translate what
you see on the grid to what the
character should look like. (How-
ever, the Rotate option seems to
work strangely in this mode due to
the unusual memory configuration
used by ANTIC 3 characters.) just
be aware that lowercase characters
are actually written two lines lower
on the screen than uppercase char-
acters. If you start with the normal
character set, you'll need to use the
roll and shift options to align the
characters. Using the roll or shift
commands (see below), roll the
lowercase characters down two
lines and all the uppercase charac-
ters down by one line. While you
work, refer to the "quick brown
fox" sentence to see that all the
characters line up properly.
Since there are forced blank
lines for uppercase characters, you
can use the lower seven lines to
define a large character. Leave the
top line blank if you want two-line
descenders. The normal Atari char-
acter set only uses six columns for a
character, giving two pixel spaces
between each character on the
screen. A larger character can use
up to seven columns, leaving the
last column blank to keep charac-
ters from running into each other.
When designing some character
sets, though, such as a cursive
script, you may want characters to
connect together, so you can use
the full horizontal space.
You can press the CTRL-cursor
keys to roll the character within the
grid. Pixels that are pushed off the
edge of the grid wrap around to the
opposite side. This is especially
useful for those ANTIC 3 charac-
ters. If you press SHIFT with the
cursor keys, the pixels that are shift-
ed off the edge of the grid are lost.
This can be used to crop a character,
or quickly erase a certain column or
row. Just roll the character until the
column or row you want to erase is
at the edge of the grid, then shift the
character to push away the pixels.
Other special^ commands:
Press I to invert the character, re-
versing all the pixels within the
grid, R rotates the characters 90 de-
grees (turns the pattern on its side).
Press R twice to turn a character
upside-down. M gives you a left-to-
right mirror image of the character,
as if you picked up the character.
V8 COMPUTEI April 1986
flipped it on its back, and put it
back down.
Press C to copy the character
you're editing to a new position in
the character set. The current char-
acter replaces the character you se-
lect with the joystick or keyboard.
Be careful with this, since you can
unintentionally erase a cherished
character. After the copy, the char-
acter you copied to is selected for
editing.
Saving And Loading
When you're ready to save your
character set, just press S, then type
in a legal Atari filename at the
prompt:
Save (Devicc:Filename>
Include the D: for disk or C: for
cassette. You can't save to the E:
(screen editor) or S: (screen) de-
vices, so if you forget the drive
specification and your filename be-
gins with E or S, FontMaker cancels
the save. If you selected the save
command by mistake and want to
cancel it, just press RETURN when
asked for the filename.
To load a character set into
FontMaker, press L and enter the
filename you used to save the char-
acter set. This will replace the char-
acter set in memory, so be sure to
save the one you're working on if
you want to keep it. Again, if you
select this command by mistake,
press RETURN at the prompt to
cancel the load.
FontMaker is compatible with
character sets created with "Super-
Font" (originally published in COM-
PUTE!, January 1982, and also found
in the First Book of Atari Graphics).
FontMaker sets are also compatible
with many other Atari character
editors. We found that a FontMaker
set can be loaded into the popular
Instedit editor if you use a filename
extension of .SET. Character sets
created with the Iridis Font edit also
work with FontMaker.
If FontMaker can't save or load
a character set due to a bad file-
name or problem with the disk, it
displays the message I/O ERROR;
PRESS RETURN. Press RETURN
and try the save again, after you've
figured out what went wrong.
When you're done editing
characters, press the ESC (escape)
key to exit FontMaker to DOS. Be
sure you've saved the character set
you're working on if you want to
keep it.
Using Fonts With BASIC
The Bytes option in FontMaker is
primarily for programmers who
want a list of the eight numbers that
define a character, handy for
changing just a single character in a
program. But if you want to include
an entire character set in your pro-
gram, copying down these numbers
can be tedious. Instead, you can use
the two BASIC programs below.
Programs 1 and 2, to add redefined
character sets to BASIC.
Program 2, "Fontloader," is a
subroutine you can merge with
your BASIC program to load the
character set into memory from
disk. Just change the filename in
line 1010 to the filename of your
character set. The program loads
the character set at the memory lo-
cation CHSET, which is defined as
eight pages back from the top of
memory (location 106). Change
this if you want to put your charac-
ter set somewhere else. If a
GRAPHICS command resets the
character set, you can use POKE
756,CHSET/256 to re-point the
character set vector to your RAM
character set. Use POKE 756,224 to
display the ROM character set, lo-
cated at memory location 57344
($E000).
If you're using a Translator
type of program on XL and XE com-
puters, you can change CHSET
(line 1030) to 57344 to load the
character set directly into the RAM
space corresponding to the position
of the ROM character set. This
keeps the character set in memory
until you turn off the machine.
Use Program 3, "Character Set
Datamaker," if you'd rather store
your character set as part of your
program in DATA statements. The
Datamaker actually creates another
program that you can merge with
your own program. It creates
DATA statements for only those
characters that have been changed
from the ROM image. Datamaker
asks for the filename of your char-
acter set and a filename you'd like
to use for the program it creates.
After using Datamaker, type
NEW and use ENTER to load the
program created by Datamaker. As
with Program 2, you can change
CHSET in the program created by
Datamaker if you want to deter-
mine yourself where the character
set should go in memory. The pro-
gram created by Datamaker copies
the ROM set down to RAM (at
CHSET), POKES in the new charac-
ters, and switches the character
pointer at 756 to the new set.
Again, you can use POKE 756,
CHSET/256 to reenable the set if
your program somehow resets this
pointer.
Next month we'll provide a
program that lets you install an
ANTIC 3 character set into your
copy of SpeedScript, along with tips
for creating readable characters and
for using special characters for
printer effects.
Program 1: FontlMaker
Please refer to the "WLX" article in this issue
before entering the following listing.
1 1 7
070
104
027
079
04B
1B3
238
134
042
162
024
203
101
222
1 ) 7
251
246
I'Jl
2S7
0<?e
17B
192
120
25 1
015
070
00S
174
180
186
192
200
1 17
204
208
16<?
132
037
220
235
003
04 1
126
13"?
175
126
241
129
222
243
204
210
226
1 16
007
178
144
077
051
122Sa
169
125
032
, 096
, 054
032,
12294
187
053
032
,009
,054
032,
12300
062
050
032
, 108
050
032,
12306
045
048
1 69
001
1 41
194,
12312
048
032
242
048
032
113,
I231B
048
032
017
049
076
0S3,
12324
051
169
064
160
048
032,
12330
130
054
096
032
037
048,
12334
169
012
133
082
169
137,
12342
160
052
032
145
054
169,
1234B
002
133
082
096
070
111,
12354
110
116
077
097
107
101,
12360
114
032
09B
121
032
067,
12366
104
097
1 14
108
101
1 15,
12372
032
066
1 14
097
110
1 10,
1237B
11 1
110
000
173
202
048,
123B4.
20!
003
208
010
173
194,
12590
048
20 1
096
144
003
169,
12396
000
096
169
001
096
032,
12402
093
04B
20B
006
032
202,
12408
054
032
202
054
169
12B,
12414
009
024
133
203
173
198,
12420
048
009
002
133
204
162,
12426
000
160
000
189
169
04B,
12432
145
203
200
152
041
003,
I243B
20S
245
232
224
00B
208,
12444
240
032
093
04B
208
006,
12450
032
252
054
032
252
054,
12456
096
000
000
000
000
000,
12 4 6 2
000
000
000
000
000
000,
1246B
000
000
000
000
000
000,
12474
000
000
000
000
000
000,
12480
000
000
000
000
000
000,
12486
000
000
000
000
002
000,
12492
000
000
000
000
169
000,
12498
133
204
173
194
04B
010,
12504
03B
204
010
038
204
010,
12S10
03B
204
024
133
207
109,
12SE6
195
04B
133
203
165
204,
12322
133
208
109
196
048
133,
1252B
204
096
032
208
048
160,
12S34
00 7
177
203
153
169
048,
12S40
153
177
048
136
016
245,
12546
096
032
208
048
160
007,
12552
185
169
04B
145
203
136,
1255B
016
248
096
163
0B8
024,
12364
103
22B
133
203
165
089,
125 70
105
00]
133
204
169
000,
12S76
14 1
173
048
162
004
173,
12382
202
048
201
006
144
002,
12588
162
002
160
000
173
193,
12594
048
205
194
048
208
002,
12600
009
128
145
,203
238
193.
12606
048
200
192
032
208
236,
12612
024
165
203
105
040
133,
12618
203
165
204
105
000
1 33,
12624
204
202
20 8
2IB
173
202,
12630
04B
201
005
, 176
,014
160,
12636
000
185
119
,049
,201
010,
12642
240
007
145
,203
,200
20B,
1264B
244
160
000
,200
, 173
194,
April 1986 COMPUTE! 99
I2i54:
04B,
143,
203,
200,
192,
070,
200
12660:
144,
245,
096,
032,
104,
101 ,
090
I2abh:
000,
I 13,
117,
105,
077,
107,
151
12672:
000,
e9B,
114,
111.
1 19,
110,
16B
1267B:
000,
102,
111,
120,
000,
106,
061
12AS4!
1 17
109,
112,
101,
100.
000,
167
12670:
1 1 1
1 IB,
101 ,
114,
000.
000,
079
12676:
000
000,
000,
000,
000.
000,
132
12702:
000
1 16,
104
101 ,
000,
IBB
075
S270B:
097
122
121
000,
100,
111.
203
IZ711:
103
115
014
010,
000,
000
156
12728:
000
000
000
033,
225,
00 1
1 77
12726:
000
031
223
255,
000,
032
21 1
12732:
224
000
090
105,
099,
107
035
1273B:
032
097
032
077,
104,
097
143
12744:
1 14
097
099
116,
101,
1 14
073
12730:
046
046
046
000,
169,
190
1 71
12756:
160
049
032
130,
0S4,
032
1 57
12762:
01 7
049
032
242,
049,
032
126
12768:
I 13
040
173
132,
002,
240
164
12774:
042
173
Z52
002
201 ,
255
131
12780:
20B
043
174
120
002,
187
204
127S6:
174
049
240
236
032,
1 12
061
12792-
033
142
03!
20B
024,
107
047
1279B
194
048
04 1
127
174,
202
016
12B04
04B
224
006
144
002
041
213
12a 10:
063
141
174
04B,
076,
217
237
12S16:
049
173
132
002,
240,
251
095
I2S22:
076
039
030
032
029,
058
070
1 2e2B:
04!
127
201
076
174
013
170
12B34
201
032
176
006
024
105
066
12S40
064
076
047
050
056
233
054
12346
032
1 41
1 74
048
032
017
254
12952
047
032
242
048
032
1 13
056
12358
046
076
037
048
165.
1 06
026
12664
056
233
016
133
204
14 1
079
12670
196
048
1 67
000
133
203
051
12376
141
195
048
141
194
04B
075
12882
133
205
169
224
133
206
128
12889
160
000
177
203
1 45
203
,210
12B74
200
208
247
230
204
230
, 135
12900
206
163
206
201
229
20B
. 035
12906
239
076
167
046
14 1
047
, 076
1 2912
002
167
003
1 41
027
20B
, 132
1 2?ia
169
001
1 41
1 1 1
002
1 73
, 203
12924
: 196
, 048
, 056
,233
,004
,141
, 034
12930
: 198
,048
, 141
, 007
,212
, 169
. 137
12936
:000
, 141
, 197
, 04B
, 162
,011
, 193
12942
: 157
, 255
, 207
, 202
,203
, 250
,141
1294B
■173
, 19B
, 048
, 133
,204
, 173
,053
12934
• 197
, 04B
, 133
, 203
, 162
, 004
. 133
12960
160
, 000
, 152
, 145
, 203
,200
, 252
12966
208
,251
,230
,204
, 202
.208
, 189
12972
246
,024
, 169
, 128
, 133
20 9
, 057
1297B
169
, 000
, 133
,203
, 173
199
030
12984
04B
,009
,003
133
,204
133
,202
12990
210
, 167
, 170
133
,207
160
,215
IZ996
024
, 16S
, 207
145
.203
073
,245
13002
2SS
, 14S
209
200
152
041
, 190
13008
003
208
006
165
207
073
, 102
13014
255
133
207
192
056
208
,241
13020
232
169
056
14!
001
208
,003
13026
141
,002
,208
, 141
, 003
20S
,161
13032
169
,003
. Ill
,007
,208
141
, 1 35
1303B
010
,208
,141
,0! 1
, 208
169
.217
13044
014
, 141
, 192
,002
, 169
070
.084
130 = 0
141
, 193
,002
169
,200
141
. 072
130S6
194
.002
, 169
.038
141
173
, 227
13062
002
,096
, 173
, 200
, 048
14!
. 154
1306B
000
,208
, 173
,198
048
009
. I 36
13074
002
, 133
204
. 160
000
152
. 137
13080
170
, 133
203
. 145
203
200
.034
13086
0!6
,2S1
172
, 199
04B
189
, 137
13092
047
051
145
203
200
232
, 146
13098
224
004
208
245
096
240
,035
13104
144
144
240
000
000
000
,064
13110
000
000
001
001
001
000
,057
13116
255
255
255
000
000
000
,057
13122
000
000
000
000
000
000
, 066
1312B
00 1
235
000
000
001
235
,072
13134
000
000
001
255
000
169
,247
13140
036
!4l
200
048
169
024
210
13146
141
177
04B
032
00B
051
057
13152
174
120
002
142
201
048
,015
13159
224
015
240
064
169
004
,050
13164
133
207
!4I
031
208
165
.225
13170
020
197
020
240
252
174
.249
13176I20I
048
187
031
031
024
, 172
131825 109
200
048
201
036
144
, 1 16
131BB;007
201
085
176
0 03
141
,233
13194
200
048
187
067
051
024
,205
13200} 107
177
048
20t
024
144
, 101
13206
007
201
033
176
003
141
219
132I2;177
048
032
00B
051
198
180
13218
207
165
207
20B
202
032
1S9
13224
112
053
173
232
002
201
, 193
13230
25S
20B
085
173
132
002
,005
13236
208
■ 170
0S6
,173
199
048
,010
13242
233
,024
074
.074
, !6B
032
,023
1324B
093
,048
20B
,014
, 192
006
,24 1
13254
176
,005
, 200
, 200
,076
210
, 04 1
13260:
13266:
13272:
13278:
132B4:
13290:
13296:
13302:
13308:
13314:
13320:
13326:
13332:
13338:
13344:
13350:
13356:
13362:
1336B:
13374:
13380:
13386:
13392:
13399;
13404:
13410:
13416:
13422:
13428:
13434:
13440:
13446:
13452:
13438:
13464:
13470:
13476:
13482:
13488:
13494:
13500;
13306:
13512:
13518:
13524:
13530:
13536:
13542:
13S49!
13S541
13560:
13566:
13572:
13578:
135B4:
13590!
13576:
13602:
13608:
13614:
13620:
13626:
13632:
13638:
13644:
13650:
13656:
13662:
13668:
13674:
13690:
13686:
13692:
1369S:
13704:
13710!
13716:
13722!
13726:
13734:
13740:
137461
13752:
13758:
13764:
13770!
13776:
13782:
137BB:
13794:
13S00:
13806:
13812!
13B1S:
13824:
13830:
13836:
13842!
13B4BI
13854:
13860:
13B66:
051
1S2
036
233
006
168
102
173
200
048
036
233
056
208
074
074
170
232
036
167
223
000
106
202
208
232
089
055
169
048
133
167
049
032
077
167
054
032
016
035
173
217
201
048
201
015
208
005
130
162
200
032
1 14
053
076
1 15
093
051
169
000
141
000
174
208
076
037
048
032
029
176
058
201
097
144
007
20 1
204
123
176
003
056
233
032
125
174
0S8
052
221
038
032
123
240
006
202
208
24B
076
238
096
051
202
138
010
170
187
169
031
072
167
092
072
151
1B9
086
052
072
1B9
085
203
052
072
169
000
141
000
22B
208
076
026
043
061
043
023
042
02B
029
030
031
032
234
027
080
123
095
124
092
099
094
071
073
085
070
077
032
082
083
076
067
066
.092
034
035
099
033
106
055
.113
037
03S
194
054
244
034
.060
241
055
076
053
IBl
051
.121
125
033
209
049
142
033
. 173
,019
054
223
054
036
033
.048
06B
055
135
033
156
055
.173
,251
055
196
055
005
056
.028
, 005
036
183
056
246
056
. 185
142
057
218
057
155
155
.027
,035
02B
027
027
027
030
.027
, 052
031
032
195
212
210
.204
, 006
045
027
028
027
029
.027
,077
030
027
031
032
21 1
.200
177
201
.198
212
043
027
.028
, 107
027
029
027
030
027
,031
, 085
135
211
208
173
175
, 197
, 055
032
084
111
103
103
, 108
■ 21 1
101
032
032
032
032
175
100
204
177
173
210
032
066
072
108
097
1 10
107
155
, 197
, 208
032
071
1 14
097
i 12
, 104
, 224
105
099
lis
032
,077
> 1 1 >
, 239
100
101
032
20B
,032
,080
, 003
105
099
107
155
,20!
, 032
, 133
073
110
113
10!
.114
, 115
,093
101
,032
,032
, 032
, 032
, 032
, 241
032
032
213
. 032
.085
,110
, 234
100
,111
155
!7B
032
, 070
. 146
105
, 120
032
032
032
, 032
. 075
032
032
207
20B
212
, 201
128
207
206
045
070
032
,070
12a
10S
120
032
097
10a
108
074
155
210
032
0B2
1 11
1 16
216
097
116
101
032
032
032
182
032
032
032
032
032
20S
143
032
077
105
1 14
1 14
1 1 1
0B1
114
155
195
032
067
HI
208
I 12
121
032
032
032
032
157
032
032
032
032
032
032
230
174
032
066
121
1 16
101
182
lis
133
21!
032
083
097
251
1 18
101
032
102
1 1 1
1 10
138
1 16
032
032
032
032
032
102
204
032
076
111
097
100
196
133
177
211
195
032
069
185
120
105
1 16
032
1 16
1 1 1
ISB
032
068
0 79
083
000
000
1 12
162
090
160
000
J36
208
100
233
202
208
250
096
024
127
165
088
105
228
133
203
022
133
209
165
089
105
001
064
133
204
133
210
162
002
212
169
000
168
143
203
200
003
208
251
230
204
202
208
171
246
076
032
123
033
238
174
202
049
173
202
048
201
010
008
144
005
169
002
141
123
20 2
048
032
187
033
032
214
242
048
032
113
048
032
IB!
017
049
096
173
048
002
037
133
203
173
049
002
133
1 15
204
160
003
167
174
143
047
203
160,
016
167
134
145
005
203
200
169,
006
145
203
110
200
173,
202,
048
145
203,
161
200
192,
022,
208
247
201
012
006
240,
004,
201,
005
176
090
017
167,
016,
143,
203
173,
187
202,
048,
200,
145
203
200,
212
145,
203,
200,
145,
203
200,
060
169,
065,
145,
203,
163
203,
176
200,
145,
203,
165,
204
200,
093
145,
203,
096,
169,
064,
141,
036
014,
212,
169,
030,
141
000,
066
002,
169,
054,
141,
001
002,
131
169,
172,
141,
014,
212,
076,
080
072,
138,
072,
173,
01 1,
212,
196
201 ,
032,
176,
01 1,
167,
000,
1 13
141 ,
010,
212,
141 ,
024,
208,
010
138721
076.
087.
054.
141.
010.
212.
1J6
!3B7a:
173.
202,
048,
201 ,
004,
1 44,
038
13a84:
009.
173,
198,
002,
141,
024,
075
13870:
20B.
076,
081,
034.
162,
005,
140
13B96:
!B9,
090,
054,
157,
021,
208,
023
13702:
202,
208,
247,
173,
176,
048,
128
13908:
141 ,
009,
212,
104,
170,
104,
036
13914:
064,
076,
002,
010,
234,
008,
248
13920:
140,
203,
048,
162,
000,
142,
023
13926:
072,
003,
142,
073,
003,
160,
043
13732:
011 ,
140,
066,
003,
032,
086,
190
13938:
228,
172,
203,
048,
076,
160,
253
13944:
000,
152
145,
088,
200,
192,
129
13930:
040,
20B
249,
076,
072,
152,
175
13956:
072,
169
002,
133
0B5,
032,
1 13
13762;
1 17,
054
133,
084,
104,
169,
032
13768:
!04
133
203,
132
204,
167,
065
13974:
001
141
240,
002
160
000
182
13980:
177,
203
240,
006,
032,
096,
142
13986:
054,
200
208,
246,
096,
032,
230
13772:
003,
049
032,
113
048,
096
253
13778:
032
202
054
162
007
032
13!
14004:
093
048
208
002
162
001
192
14010:
169
000
157
169
048
032
249
14016
167
054
096
032
202
034
029
14022:
032
167
054
096
173
169
121
14028!
048
072
162
000
189
170
077
14034
048
157
169
048
232
224
06 4
14040
007
20B
243
104
14!
176
073
14046
048
096
032
232
054
162
098
14052
000
032
073
048
208
002
099
14038
162
002
167
000
157
167
125
14064
048
032
167
054
096
032
ir 7
14070
252
054
032
167
054
096
13J
14076
173
176
049
072
162
007
122
14082
189
168
,048
157
167
048
013
140SB
202
20B
.247
104
141
169
055
14094
048
096
169
020
141
000
232
14100
210
162
. 175
142
001
2)0
132
14106
160
128
. 136
208
253
202
0B9
14112
224
, 139
,208
243
096
162
100
141 IB
007
, 030
, 169
048
202
208
, 190
14124
250
, 032
, !67
054
096
162
,037
14130
007
, 094
, 169
048
, 202
,203
,010
14 136
250
, 032
, 167
054
,096
, 162
, 049
14 142
. 007
, 1B9
, 167
,048
,010
,062
, 035
14148
; 169
,048
, 202
,016
,246
, 032
,013
I4IS4
: 167
,054
, 096
, 162
, 007
, 1B9
,237
14160
: 169
,048
,074
, 126
, 169
, 04B
, 202
14166
: 202
. 016
,246
, 032
, 167
, 054
, 035
14172
T076
, 104
, 104
, 162
,014
, 076
, 136
14178
:079
,051
, 104
, 104
, 162
,013
.117
14184
: 076
, 097
, 051
, 104
, 104
, 162
. IBB
14190
:0! 1
, 076
, 097
, 031
, 104
. 104
,043
14196
162
, 007
,076
079
05!
096
075
14202
167
, 064
,141
014
212
167
123
14208
000
.141
,029
208
162
003
159
14214
157
. 000
,208
202
016
250
179
14220
108
.010
, 000
169
000
162
077
14226
007
157
,167
048
202
016
233
14232
230
032
, 167
054
096
162
145
1423B
007
189
, 169
048
073
255
I 3!
14244
157
169
049
202
016
245
233
14230
032
167
.054
096
162
007
176
14256
187
169
048
072
189
177
252
14262
048
157
167
048
104
157
097
14268
177
048
202
016
237
032
134
14274
167
054
096
169
00B
141
061
142B0
031
208
173
031
208
041
124
14286
007
201
003
208
018
032
163
14272
062
030
169
001
141
194
061
14278
048
032
242
048
032
017
125
14304
049
032
1 13
04B
096
032
0B2
14310
208
048
163
207
133
203
170
14316
165
20B
024
105
224
133
07 1
14322
204
162
000
160
000
177
177
14328
203
137
169
048
200
232
233
14334
224
008
208
245
032
167
1 14
14340:
054
096
162
007
160
008
235
14346:
169
000
074
169
048
042
020
14332:
136
208
249
157
169
049
215
1435B:
202
016
239,
032
167
054
220
14364:
096
160
000,
162
007,
167,
1 10
14370:
000,
030
167,
048,
042,
202,
013
14376!
016,
249
153,
185,
04B,
200,
123
14382:
192,
008
20B,
237,
162,
007,
092
14388:
187,
185
048,
157,
169,
048,
080
14394:
202,
016.
247,
032,
167,
034,
008
14400:
096,
160
000,
140,
240,
002,
190
14406:
169,
032
032,
096,
054,
169,
1 10
14412:
126,
032.
096,
034,
140,
204,
216
14418:
048,
032,
027,
05B,
172,
204,
! 13
14424:
049,
201,
155,
240,
047,
201 ,
212
14430;
126,
240,
032,
041,
127,
201,
093
14436:
032,
144,
233,
201,
097,
144,
183
14442:
007,
201 ,
123,
176,
003,
036,
160
14448:
233,
032,
166,
085,
224,
039,
123
14454:
240,
216,
153,
128,
005,
032,
124
14460!
076,
054,
200,
209,
207,
192,
057
14466:
000,
240,
203,
032,
076,
034,
243
14472;
136,
076,
080,
056,
162,
001 ,
133
100 eOMPUTB AprtI 1986
144B4:
14470:
14494:
14502:
14308:
14514:
14520:
14526:
14S3Z:
1453S:
14544:
14330!
1455i:
14S6Z:
145^8:
14574;
14580:
14SB&:
14592:
14398:
14A04:
14610:
14616:
L4622:
1462B:
14634:
14640:
14646:
14652:
1463B:
14664:
14670:
14676:
14682:
146BB:
14694:
!470B:
14706;
14712:
14718:
14724:
14730:
14736:
14742:
1474B:
14754:
14760:
14766:
S4772:
24778:
14784:
1 4790:
1 4796:
14S02:
14808:
14814:
14B20:
1482/b:
14B32:
I4a38:
14844:
1 4850:
14856:
14862:
14868:
14874!
148B0:
14986:
142
240,
002
032,
096
054,
169
000
153
128
005
140,
204
048
173
128
005
096,
083
097
1 IS
101
032
040,
06S
101
1 IS
105
099
101,
05B
070
105
108
101
110.
097,
109,
101
041,
062,
000,
169,
160,
160,
056,
032
130,
054,
032,
063
056,
240,
024,
201,
069,
240
020,
20 1
083,
240,
016,
032
111,
057
169,
008,
141,
205,
04B,
169,
01 1 ,
141,
206,
048
032,
030,
057,
076,
037,
048
076,
111,
097,
100
032,
040
068,
101
1 IB,
103
099,
101
038,
070,
105,
108,
101,
110
097,
109,
101 ,
041
062,
000
169,
223,
160,
056,
032,
130
054,
032,
065,
0S6,
240,
024
201 ,
069,
240,
020,
201,
083,
240,
016
032,
111,
057,
169,
004,
141 ,
205,
04B
169,
007,
141,
206,
049,
032,
030,
057
076,
037
0 4S,
169,
128,
157
068,
003
169,
005
137,
069
003,
1 73
204,
048
157
072
003,
169
000,
137
073,
003
169
003
137,
066
003
173
205
048
137,
074
003
169
000
157
075,
003
032
0B6
228
048
050,
173
195
04S
157
06S
003,
173
196
048
137
069
003,
169
000
157
072
003
169,
004
157
073
003
173
206,
04B
137
066
003
032
086,
228
04S
017
032
1 1 1
057,
048
012
096
162
016
169,
012
157
066
003
032
0B6,
22B
096
032
111
057
169,
136
160
037
032
130
054,
032
029
058
096
073
047,
079
032
069
082
082
079,
082
03a
253
032
080
082,
069
083
083
032
210
197,
212
213
210
206
000
067,
1 1 1
S 12
121
032
>16
111,
032
! 19
104
105
099
104,
03Z
099
104
097
I 14
097,
099
1 16
101
1 14
063
000,
162
007
189
169
048
157,
135
048
202
016
247
169,
161
160
057
032
214
049,
162
007
189
185
048
157,
169
048,
202
016
247
032,
167
054,
096
032
1 19
054,
162
000
134
085
142
207,
048
189
169
048
032
250,
057
174
207
048
232
224,
00B
208
239
032
029
, 058,
032
, 037
04B
096
133
,212,
169
, 000
1 33
213
032
, 170,
217
, 032
230
216
160
, 000,
177
,243
048
006
032
, 096,
034
, 200
208
, 246
04 1
, 127,
032
, 096
054
, 169
032
, 032,
096
, 0S4
096
,173
037
,228,
072
, 173
036
,228
,072
, 162.
000
rar
, 096
n2
,224
Fo
,002
ntlo
,225
ad«
, 002.
it
196
231
040
1 19
246
212
076
1 23
149
242
059
022
216
153
173
002
096
1 31
107
06 2
086
187
125
04B
212
1 33
235
09B
194
026
001
204
212
142
194
232
083
099
214
045
1B3
21 1
049
219
056
040
253
219
205
161
150
035
103
184
156
226
184
196
152
046
036
201
089
098
1 22
179
1 98
007
075
For instnjctions on entenng this listing, please
refer to "COMPUTE! 's Guide fo Typing In
Programs" in this issue of computei.
n
1000
REM FONTLOADER
FH
1010
□PEN #1,4,0, "DiSERIF
.SET":REM YOUR FILEN
AME HERE
HO
1020
X=16:REM FILENUMI16
no
1025
DIM CIO* (7) :CIO* = "hh
h":CIa»(4J='CHR« (170)
;CI0*C5)-"LV"!CI0»(7
) -CHR* (228)
00
1030
CHSETb (PEEKt 106) -a) *
256;PDKE 756,CHSET/2
56SREI1 ADDRESS OF CH
ARACTER SET. TRY 57
344 ON XL'S WITH TRA
NSLATOR
[J
1040
ICC0M=B34: ICBADR=836
i ICBLEN-B40
NF
1050
POKE 1CBADR+X+1,CHSE
T/25iiP0KE ICBADR+X,
0
mi0h0 POKE ICBLEN+X+1 , 4: PO
KE ICBLEN+X, 0
P6 1070 POKE ICCDM+X, 7: A-USR
( ADR (CIO«) , X)
JD 1080 CLOSE «1
1(11090 RETURN : REM REMOVE T
HIS LINE TO USE THIS
AS A STAND-ALONE PR
OGRAM
Program 3: Character Set
Dotamaker
For instructions on entering this listing, please
refer to "COMPUTEI's Guide to Typing In
Programs" in this issue of COMPUTEf.
P! 100 OPEN #1 , 12, 0, "E: ■'
(H 102 GRAPHICS 1 + li
HI10S DIM F* ( 1 4) , OFS ( 14) , T*
(12) , A (7)
Dftll0 POSITION 3,0:? «6;"cfi
ar ac t er set "
HI 120 POSITION 5,2:? #6;"ig:'
FJ 130 ? #6;"THIS UTILITY CR
EATES" ;
HI 140 ? #6;"fl SET OF DATA S
TATE-";
IB 150 ? «6;"MENTS FROM A 5A
VED"
PC 160 ? tti; "CHARACTER SET.
IT"
Ffl 170 ? #6; "OPT IMIZES BY ON
LY"
(K 180 ? «6; "LISTING CHARflCT
ERS"
OL lf0 ? #6; "NOT PRESENT IN
THE"
IH 200 ? #i; "STANDARD CHARAC
TER"
KE 210 ? «i; "SET, "
KD 220 ? *Ai? #6; "PRESS 5IiS.?l
ST"
!F 230 IF PEEK (S3279) <>3 THE
N 230
«: 240 GRAPHICS 1 + 16
LB 250 ? #6;
ENTS
00 260 ? #6
TO"
IK 270 ? #6
FILE
HP 280 7 #6
RGE"
Dl 290 ? #6
OUR"
J8 300 ? #6
? #6
'THE DATA STATEM
'WILL BE WRITTEN
■DISK AS A list
'USE enter TO ME
'THE DATA WITH Y
'PROGRAM. " : ? #6;
!? #6; "(H^BIIIiaiHIMD
mi"
HB 305 POKE 82,0:POKE 87,0
GE310 ? CHR4 (2B) ; CHR« ( 1S6) ;
"tm" ;: INPUT itl;T4:IF
Tt="" THEN 310
HF31S F«!»"D: ": F* (3) =T*
PP 320 ? CHR* ( 125? ; "rgTUd:«»H
U^XUuCS 5PACE5>U»ild;r:i:
d" : ? : ?
SK 330 ? CHR« (28) ; CHR* ( 156) ;
"tm"; : INPUT #1 ; T*: IF
T«="" THEN 330
KH 332 OF»»"D: ": OF* (3) =T$
AH 335 ? CHR»(125) ; "gmaiMMi
d^EMHlECS SPACES>t>IIIj
f:M.-*f:liJ^:ii<;tt-i" : ? : ?
K340 INPUT SLINE
BE 345 CLOSE #1
«H 350 GRAPHICS 2+16:P0SITIQ
N 5,6:? *6;"wDrking
{3 N}":SETC0L0R 4,3,4
HC 370 OPEN #1,4,0,F*
DD 380 TRAP 600:OPEN #2,8,0,
OF«:TRAP 40000
BG 381
? #2; SLINE; "CH5ET= (PE
eK(106) -S) *256: FOR I-
0 TO 1023:PDKE CHSET+
I,PEEK(57344+I ) zNEXT
Pll 382
? #2; SLINE+1 ; "RESTORE
"; SLINE+5
NF 383
? #2; SLINE+2; "READ A:
IF A=-l THEN RETURN"
CK 3B4
? «Z; SLINE+3; "FDR J"0
TO 7:READ B:POKE CHS
ET+A«8+J, B:NEXT J"
BE 385
? #2; SLINE+4; "GOTO ";
SLINE+2
0B3B7
LINE=SLINE+4
S[ 390
FOR 1=0 TO 127:F=0
AK 4 00
FDR J=0 TO 7
hi; 410
GET #1 , A: A t J}=A
IL 420
IF A<>PEEK(57344+I*B+
J) THEN F=l
CS 430
NEXT J
CH 440
IF NOT F THEN 460
IE 445
LINE=LINE+1
PP 450
? #2;LINE; " DATA " ; : ?
#2; I; iFOR J=0 TO 7 : ?
#2; " , "; A(J) ; :NEXT J:
? #2
KG 460
NEXT I :? #2;LINE+1 ; "D
ATA -1"
CN 470
POKE B2,2:GRAPHICS 0:
? "All finistied' Use
ENTER ";DF*
CB 460
? "to merge ttie -file.
HE 490 END
a 600 POKE 82, 2:BRAPHICS 0:
? :? "ERROR TRYING TO
OPEN ";OFS; " . "
Ee610 END ®
COMPUTEI
Subscriber Services
Please help us serve you better. If you
need to contact us for any of the
reasons listed below, write to us at:
COMPUTEI Magozlns
P.O.Box 10954
Des Moines. lA 50340
or call the Toll Free number listed below.
Change Of Address. Please allow us
6-8 weeks to effect the change; send
your current mailing label along with
your new address.
Renewal. Should you wish to renew your
COMPUTEI subscription before we
remind you to, send your current mailing
label with payment or charge number
or call the Toll Free number listed below,
F4ew Subscription. A one year (12
month) US subscription to COMPUTEI Is
$24.00 (2 yeors, S45.00: 3 years, S65,00.
For subscription rates outside the US,
see staff page). Send us your name
and address or coll the Toll Free number
listed below.
Delivery Problems. If you receive dupli-
cate Issues of COMPUTEI, If you experi-
ence late delivery or if you have prob-
lems with your subscription, please coll
the Toll Free number listed below.
COMPUTE!
T -800-247-5470
InlA 1-800-532-1272
AprtWe* COMPUTE] 101
Hi-Res
Graphics Aid Routines
This handy utility makes it easy to
perform sophisticated operations on
Apple high-resolution graphics
screens: inverting screens, copying
screens, superimposing one screen on
another, and more. It works on any
Apple //-series computer with DOS
3.3 or ProDOS.
Like most personal computers, Ap-
ple Il-series machines can display
high-resolution color graphics.
There are many commercial pro-
grams that let you draw, save, and
reload hi-res screens. But few of
them let you easily perform com-
plex operations such as inverting an
entire hi-res screen or superimpos-
ing one screen on another. "Hi-Res
Graphics Aid" fills that gap.
Though the program uses machine
language for speed, you don't need
to knov/ ML to use it.
Type in and save the program
belou', then run it. The screen
prompts are self-explanatory. Keep
in mind that this is not a general-
purpose drawing or design pro-
gram; it performs large-scale tasks
on existing graphics screens. Since
the Apple can store two hi-res
screens in memory at a time, most
operations let you act on either
screen 1 or screen 2.
When you run Graphics Aid, it
displays a main menu of six selec-
tions. From this menu you can dis-
play a screen, edit a screen, load a
screen, save a screen, display a disk
catalog, or quit. The current selec-
Jon Hylands
tion is highlighted in inverse video.
To choose a different selection,
press the up-arrow or down-arrow
keys (CTRL-K or CTRL-] on the
Apple in-) and then press RE-
TURN. Here's a brief description of
the options;
Display screen. Enter 1 to display
screen 1; 2 for screen 2.
Edit screeji. This option displays a
second menu with the following
options:
• Display screen. Enter 1 or 2.
• Invert screen. Enter 1 or 2.
• Copy screen. Enter 1 to copy
screen 1 to screen 2, or vice versa.
• Superimpose screen. Enter 1 to
superimpose screen 1 on screen 2,
or vice versa. Then choose the
mode by pressing a number key
from 1-3. Mode 1 is OR A mode;
every pixel that's turned on in
either screen remains on. Mode 2 is
AND mode; only pixels that are on
in both screens remain on. In Mode
3 (XOR), every pixel that's turned
on in both screens will be turned
off, and vice versa.
• Color screen. Choose screen 1
or 2, then enter a color number
from 0-7.
• Flip high bits. Choose screen 1
or 2, then choose the mode by
pressing a number key from 1-3.
Mode 1 sets the high bits, mode 2
clears them, and mode 3 inverts
them (on bits are turned off, and
vice versa).
• Swap screens. Swap the con-
tents of screen 1 and screen 2.
• Return to command menu.
Load to screen. Choose screen 1 or 2,
then select drive 1 or 2 and enter
the filename of the graphics file you
wish to load.
Save screen. Choose screen 1 or 2,
then select drive 1 or 2 and enter
the filename you wish to use when
saving the graphics screen to disk.
Catalog. Displays a disk catalog.
Quit. Exit to BASIC.
Hi-Re$ Graphics Aid
For instnjctions on entering this listing, please
refer to "COWPUTEl's Guide to Typing In
Programs" in this issue of Computei,
B3 10 BA = 32768: FOR I = BA TO
BA + 212: READ fl:CK = CK +
A: POKE I, ft: NEXT : REM L
OAD HR.CODE
CA 20 IF CK < > 313V7 THEW PRINT
"ERROR IN DATA STATEMENTS
.": STOP
F* 30 DATA 76, IB, 12B,76,33, 12B,7
6,55
fi« 40 DATA 12B, 76, B0, 128,76, 115,
128,76
El 50 DATA 151,128,166,255,173,8
0, 1?2, 173
E" 60 DATA 82, 192, 173,37, 192, 189
,83, 192
7D 70 DATA 96,166,255,189,195,12
8, 133,251
35 80 DATA 32,186,128,177,250,73
,255, 145
5r 90 DATA 250,32,177,128,208,24
5,96, 166
i8 100 DATA 255,189,195,128,133,
251 , 189, 198
F9 110 DATA 128,133,253,32,186,1
28, 177,250
SE 120 DATA 145,252,32,177,128,2
08,247,96
fD 130 DATA 166,255,189,195,128,
133,251, 189
n 140 DATA 198,128,133,253,166,
254, 189,201
«5 150 DATA 128,141,105,128,32,1
86, 120, 177
102 COMPUTEI April! 986
DflTfi 250,17,252,145,252,3
2, 177, 12a
DATA 208,245,96,166,255,1
89, 195, 128
DATA 133,251,166,254,189,
205, 128, 141
DATA 141,128,109,209,128,
141, 142, 128
DATA 32, 1B6, 12B, 177,250,9
, 12s, 145
DATA 250,32,177,128,208,2
45,96, 169
DATA 32,133,251,10,133,25
3,32, 186
DATA 128,177,250,72,177,2
52, 145,250
DATA 104,145,252,32,177,1
28,208,241
DATA 96,200,208,5,230,251
,230,233
DATA 202,96,160,0,132,250
, 132,252
DATA 162,32,96,0,32,64,0,
DATA 32,0,17,49,81,0,9,41
DATA 73,0,128,127,120
TEXT : HOME : PRINT : PRI
NT CHR* <4);"PR#0'-: PRINT
: REM INITIALIZATION
2fl 310 D* = CHRt (4):BE« = CHRt
(7):E* = CHR« (27):L» = "
":D = 1
READ L: DIM X (L> , Tl« (L, 13
15
160
21
170
87
180
ED
190
Cfl
200
79
210
n
220
n
230
SB
240
OE
250
n
260
u
270
11
280
IS
290
ii
300
F* 320
5? 330
57 340
El 350
IE 360
CC 370
B! 380
81 390
Z\ 400
36 410
?S 420
«t 430
:: 440
23 450
t3 460
:? 470
-: 4S0
tt 490
."■= 5013
6- 510
1« 520
62 530
7E 540
70 550
ED 560
)
FOR J = 1 TO Lt READ X(J>
: FOR I = 1 TO X<J): READ
TI«(J, I) : NEXT : NEXT
DATA 2, 6, DISPLAY SCREEN, S
GREEN EDITOR, LOAD SCREEN,
SAVE SCREEN, CATALOG, QUIT
DATA 8, DISPLAY SCREEN, INV
ERT SCREEN, COPY SCREEN, BU
PERIMP05E SCREEN, COLOR SC
REEN.FLIP HI BITS, SWAP SC
REENS, COMMAND MENU
READ X: BIM ERS ( X ) : FOR I
= 1 TO X: READ ER« ( I) : N
EXT
DATA 13,,,, WRITE PRDTECTE
D,,FILE NOT FOUND, VOLUME
MISMATCH, l/D ERROR, DISK F
ULL,FILE LOCKED, SYNTAX ER
ROR,,FILE TYPE MISMATCH
REM COMMAND MENU
HOME : TEXT :J = 1 : M* = "
HI. RES COMMAND MENU": GOB
UB 640
IF I = X(J) THEN VTAB 10
+ X (J) : END
ON 1 GOSUB 890,840,1290,1
360, 1430
BDTO 390
REM GET A KEYSTROKE
A = 0: GET A*: IF A4 = E*
THEN POP : RETURN
A = VAL (A*) : RETURN
REM CENTER MESSAGE
VTAB V: HTAB ( INT ({40 -
LEN (M*) ) / 2> + 1) : PRI
NT M*: RETURN
REM DRAW A LINE
VTAB V: FOR I = 1 TO 4: F
RINT Lt;: NEXT : RETURN
REM GET DRIVE
PRINT "DRIVE : ":D; CHRi
(8) ;
ODSUB 440: IF Al = CHR* (
13) THEN A = 1
IF A < 1 DR A > 2 THEN 52
0
D = A: RETURN
REM GET PASE
GOSUB 440: IF A < 0 OR A
> 2 THEN 560
U 570 P = A: RETURN
U 580 REM ASK 'ARE YOU SURE ?
Hi 590 PRINT "ARE YOU SURE "^ Y";
CHR» (S) ;
i7 600 GET A«: IF A» = "N" OR fi«
= E« THEN PRINT ASj: POP
: RETURN
24 610 IF A« = CHR4 (13) OR A* =
"Y" THEN RETURN
14 620 GOTO 600
21 630 REM CUSTOM MENU ROUTINE
Ft 640 V = 2: BDSUB 490
F3 650 V = 4: GOSUB 470
7i 660 V = 6: GOSUB 490
21 670 PRINT : VTAB 9
AS
680
FOR I = 1 TO X(J): HTAB 2
: PRINT TIS(J,I) : NEXT
3A
690
1=1; VTAB 24: CALL - 86
8
VTAB I + 8: HTAB 2: INVER
E7
700
SE : PRINT TI*(J,I): NORM
AL
54
710
A = PEEK ( - 16384) : IF A
< 128 THEN 710
C*
720
POKE - 16368,0: A = A - 12
8
CF
730
IF A = 21 DR A = 10 THEN
770
CE
740
IF A = B OR A = 11 THEN 8
00
A9
750
IF A - 13 THEN RETURN
fii 760 GOTO 710
81 770 VTAB I + 8: HTAB 2: PRINT
TI*(J, I)
C8 7B0 IF I + 1 > X(J) THEN I =
1: GOTO 700
ID 790 1 = 1 + 1: GOTO 700
7C 800 VTAB 1 + 8: HTAB 2: PRINT
TI«(J,I)
BE 810 IF I = 1 THEN I = X(J): G
DTO 700
31 820 1 = 1-1: GOTO 700
99 830 REM SCREEN EDITOR
8E 340 HOME : TEXT : J = 2: M* = "
SCREEN EDITOR": GOSUB 640
E£ 850 IF I = X(J) THEN RETURN
S3 860 ON I GOSUB 890,930,970,10
20, 1100, 1190, 1260
27 870 GOTO 840
i5 880 REM DISPLAY SCREEN
3S 890 VTAB 23; PRINT : PRINT "D
I SPLAY SCREEN : " ;
78 900 GOSUB 560: IF A = 0 THEN
RETURN
91) 910 POKE 255, P: CALL BA: GOTO
900
60 920 REM INVERT SCREEN
Si 930 VTAB 23: PRINT : PRINT "I
NVERT SCREEN : ";
76 940 GOSUB 560: IF A = 0 THEN
RETURN
28 950 POKE 255, P: CALL BA + 3:
RETURN
2» 960 REM COPY SCREEN
M 970 VTAB 22: PRINT : PRINT "C
OPY SCREEN ";: GOSUB 560:
IF ft = 0 THEN RETURN
73 980 POKE 255, P: PRINT P; " TO
";3 - P
4B 990 GOSUB 590
AC 10Q0 CALL BA + 6: RETURM
C5 1010 REM SUPERIMPOSE SCREEN
14 1020 VTAB 21: PRINT : PRINT "
SUPERIMPOSE SCREEN " ; : (3
OSUB 560: IF A = 0 THEN
RETURN
72 1030 POKE 235, P: PRINT P; " TO
■■;3 - P
tC 1040 PRINT "1 : QRA 2 : AND
3 : EQR CHOOSE : ";
4A 1050 BOSUB 440
7F 1060 IF A < 1 DR A > 3 THEN 1
050
31 1070 PRINT A: POKE 254, A: GDS
UB 590
E* 1080 CALL BA + 9: RETURN
AS 1090 REM COLOR SCREEN
E2 1100 VTAB 21: PRINT : PRINT "
COLOR SCREEN : ";: GOSUB
560: IF A = 0 THEN RETU
RN
rl 1110 PRINT P: PRINT "COLDR :
!
A( 1120 GET A*: IF At = Et THEN
RETURN
13 1130 IF A* = "0" THEN C = 0:
SOTO 1150
#8 1140 C = VAL (At): IF C < 1 0
R C > 7 THEN 1120
72 1150 PRINT C: BDSUB 590
98 1160 POKE 230,32 * P: HCOLDR=
C: HPLQT 0,0: CALL 6245
4
EF 1170 RETURN
C9 1180 REM FLIP HI BITS
B7 1190 VTAB 21: PRINT : PRINT "
FLIP HI BITS ON SCREEN :
"; : GOSUB 560: IF A = 0
THEN RETURN
*i 1200 PRINT P: POKE 255, P: PRI
NT "1 : SET 2 : CLEAR
3 : FLIP CHOOSE : "5
3E 1210 GOSUB 440
43 1220 IF A < 1 OR A > 3 THEN 1
210
34 1230 PRINT A;: POKE 254, A: GO
SUB 590
SC 1240 CALL BA + 12: RETURN
53 1250 REM SWAP SCREENS
3A 1260 VTAB 23: PRINT : BDSUB 3
90
98 1270 CALL BA + 15: RETURN
FS 1280 REM LOAD SCREEN
AE 1290 VTAB 20: PRINT : PRINT "
LOAD TO SCREEN : " ; : GOS
UB 560: IF A = 0 THEN RE
TURN
9C 1300 PRINT P: GOSUB 510: IF A
= 0 THEN RETURN
15 1310 PRINT D: INPUT "FILENAME
: ";F»
C3 1320 IF F« = ■■■• THEN RETURN
35 1330 VTAB 1: PRINT : PRINT D$
; "BLQAD";F«; ",D";D;",A";
P « 8192
E7 1340 RETURN
97 1350 REM SAVE SCREEN
28 1360 VTAB 20; PRINT : PRINT "
SAVE SCREEN : " ; : GOSUB
560: IF A = 0 THEN RETUR
N
AB 1370 PRINT P: GOSUB 510: IF A
= 0 THEN RETURN
31 1380 PRINT D: INPUT "FILENAME
: ";Fi
DF 1390 IF F» = "" THEN RETURN
11 1400 VTAB 1: PRINT : PRINT DS
; "BSAVE";F»; " , D" ; D; " , A" ;
P * 8192;",LB192"
0» 1410 RETURN
F4 1420 REM CATALOG DISK
36 1430 VTAB 23: PRINT : GOSUB 5
10: IF A = 0 THEN RETURN
22 1440 HOME : Mt = "CATALOG OF D
RIVE " + STR* CD) :V = 1:
GOSUB 470
95 1450 V = 2: GOSUB 490
Eft 1460 POKE 34,2: PRINT : PRINT
D*"CATALOG,D"D
91 1470 V = 2:M» = " PRESS A KEY
": GOSUB 470
3B 1480 VTAB 2: HTAB 27: GET T*:
POKE 34,0: RETURN ©
April 1986 COMPUTEI 103
COMMODORE 64
Key Phantom
By expanding the 64's internal key-
board buffer, you can use the dynamic
keyboard technique for very powerful
effects. This tttachine language utility
does all the hard work for you, even if
you ktww nothing about machine lan-
guage. A disk drive is required.
If you've been following Jim Butter-
field's recent series on dynamic
keyboard programming (COMPUTE!,
October-December 1985), you
know that this technique is a pow-
erful programming tool. By making
the computer "type on its own key-
board," you can write programs
that modify themselves as they run,
enter direct mode commands, and
do many other things that ordinari-
ly are difficult or impossible from
within a program.
The dynamic keyboard tech-
nique works by POKEing the de-
sired character codes into an area of
memory called the keyboard buffer,
which normally starts at location
631. This is where the computer
receives keystrokes, so POKEing
character codes into the buffer
makes the computer think those
keys have been pressed. Next, you
POKE the number of characters in
the buffer into the keyboard buffer
counter at location 198. When the
program ends, the computer types
the codes in the buffer, just as if you
pressed the same keys yourself.
However, the dynamic key-
board technique suffers from one
major limitation. Since the key-
board buffer can't hold more than
ten characters, you're limited to
fairly short commands. If your
command takes more than ten
characters to type (including a car-
riage return), it simply won't fit into
the buffer.
Melvin Baker
"Commodore 64 Key Phan-
tom" overcomes this limitation by
relocating and expanding the 64's
keyboard buffer in a free memory
area. When the machine language
(ML) portion of Key Phantom is
active, the 64 has a keyboard buffer
3,758 characters in length — enough
to permit very elaborate command
sequences.
A Phantom Typist
Before we get into the details of
how Key Phantom works, let's try a
short demonstration. Type in and
save the program listed below.
When you run it, the program auto-
matically POKEs the ML code into
memory and then displays a three-
option menu on the screen. By
pressing a number key from 1-3
you can create a new commands
file, execute an existing commands
file, or exit the program.
To get started, press 1 to create
a new commands file. This file will
be called COMMANDS on the
disk, so if your disk already con-
tains a sequential file of that name,
you should exit the program and
copy the old file to another disk
before proceeding.
Option 1 is a simple text editor
which lets you store a series of
character codes in the file named
COMMANDS. Later on, the Key
Phantom can read the character
codes from this file and type them
with the dynamic keyboard tech-
nique. When you choose Option 1,
the screen clears and displays a
message indicating which line of
the commands file is being edited.
The line number is solely for your
information — it won't become part
of the file. Type in the following
lines exactly as shown. Where you
see the name of a key enclosed in
curly braces { } you should press
the key indicated inside the braces.
For example, press RETURN when
you see {RETURN}. Press the
cursor-down key when you see
{DOWN}.
Key£01 Phantom£02 Denionstration£03
iDOWN} {RETURN}
Watch me type in a line£01{DOWN}
(RETURN}
that changes the screen colors...£02
JDOWN} {RETURN}
KOloEOlrEOlj = lE02toE02200:E02poke
£0253280,£02j ;£02n£01 eEOl x£01 1£03
{RETURN}
Use the DEL key to erase any
mistakes within a line. When all
four lines have been entered, press
any key at the prompt to write the
commands file to disk. At this
point, the program returns you to
the main menu. Press the 2 key to
execute the commands file. After a
brief pause while the ML code is
placed in memory, the program
loads the commands file.
Now the Key Phantom begins
typing the characters from your
commands file directly on the
screen. Although the RE.A,DY
prompt and blinking cursor appear
on the screen, you are not in BASIC
ready mode. The Key Phantom has
control of the computer until it
reaches the end of the commands
file. You should see the following
display:
Key Phantom Demonstration
Watch me type in a line
that changes the screen colors...
f orj = 1 to200:poke53280, j:n exl
Note the time delays of various
durations that are used at different
points in the printing sequence.
These result from the characters
£01, £02, and £03 that you typed
when creating the file. The £ char-
acter tells the Phantom to pause the
printing for the number of seconds
specified in the following number.
104 COMPUTEI April 1986
The delay number must be ex-
pressed in hexadecimal (base 16).
Thus, £01 pauses the printing for
one second; EOF pauses for 15 sec-
onds, and so on. By including de-
lays in the character sequence, you
can print information at any speed
you like.
Pseudo-Keys
The £ character is an example of a
Key Phantom- pseudo-key. Instead
of printing something on the
screen, a pseudo-key performs a
certain action. A second pseudo-
key is the back-arrow key, located
at the upper-left corner of the key-
board. When you include this char-
acter in a command sequence. Key
Phantom waits for you to type a
line from the keyboard. The input
terminates when you press RE-
TURN, just like INPUT in a BASIC
program.
Since Key Phantom essentially
types every character from the com-
mand file, you must keep in mind
what would happen if you were
typing those characters yourself.
For instance, it's necessary to print
a cursor down character before
printing RETURN at the ends of the
first three example lines. Otherwise
you'd get a SYNTAX ERROR, since
those lines don't contain BASIC
commands. But no cursor down is
used at the end of the last line: In
this case you want to press RE-
TURN at the end of the line to make
the computer perform those actions.
Cursor control characters can
be used for a variety of different
effects. Just as in BASIC, you can
move left, right, up, or down, go to
the home position, clear the screen,
and so on. The editor accepts any
keys except DEL, CTRL, RUN/
STOP, and RESTORE, Since con-
trol characters would garble the
editor's screen display, it generally
displays a reverse video < or >
symbol to show that a control char-
acter was typed. If you need to per-
form an action not available from
the keyboard, you can always exe-
cute a short PRINT statement. For
instance, PRINT CHR$(14)CHR$ (8)
locks the keyboard into lower-
case/uppercase mode.
Advanced Applications
Because the ML portion of Key
Phantom is driven by the comput-
er's hardware interrupt routine, it
can operate while a BASIC program
is running. This means you can use
it to feed input directly to a running
BASIC program.
When would this be useful? To
take a simple example, let's say you
use a certain BASIC program fre-
quently: It could be a checkbook
program, an events calendar, or
whatever. The program may begin
by asking you to choose from sever-
al different options, input various
items of information, and so on. By
writing an appropriate command
file for Key Phantom, you could
make the computer load and run
the BASIC program, select the op-
tion or options you want, and input
as many items of information as
needed. If you need to input new
information at any point, the back
arrow pseudo-key lets you do so.
And when automatic control is no
longer needed, the command file
can terminate, leaving you in the
BASIC program as usual.
If you're the type who likes to
have several programming aids ac-
tive at once, why not write a Key
Phantom command file that auto-
matically loads and activates all
your favorite utilities at once?
When you begin using Key Phan-
tom, you'll probably think of many
more uses as well.
Of course, since it uses memo-
ry from locations 49152-53247,
this program is not compatible with
utilities that use the same memory
area. And you must be careful not
to activate any other ML routines
that disturb the 64's hardware in-
terrupt vector at locations 788-789
($0314-$0315). You should also
look out for BASIC programs that
begin by clearing the computer's
keyboard buffer — to avoid losing
information from the command
file, you should pause Key Phan-
tom for a few seconds (with the £
pseudo-key) when the program
begins.
When feeding input to a pro-
gram, you must keep in mind what
sort of input the program expects. If
the program accepts data with IN-
PUT, you should terminate the cor-
responding data item with a
carriage return. On the other hand,
if the program accepts data with
GET, you should not end the data
with a carriage return. GET usually
takes a single keypress, not a key-
press plus a carriage return.
Occasionally you may find a
program that needs to use Key
Phantom pseudo-keys for its own
purposes. Then you'll have to
change the pseudo-keys to some
other character. This can be done
by substituting different character
codes in lines 570 and 590, The
REMs in the program indicate
which value belongs to which
pseudo-key.
Commodore 64 Key
Phantom
For Instructions on entering this llsling. pleas©
refer to "COMPUTEi's Guide to Typing In
Programs" published in this issue of COmputei.
JH 100
HJ 110
GQ 120
CH 130
AP 140
FB 150
XG 160
FK 170
HR 180
BK 190
QG 200
JQ 210
RQ 220
ZZ=53368
CL0SE15:PRINT" (CLR)
{2 DOWN] KEY PHANTOM
(2 DOWN)"
PRINT "1] EDITORlDOWNl":
PRINT"2] EXECUTE (DOWN J"
:PRINT"3] EXITlDOWNi"
GDSUBa20sK=VAL(Q?) !lFK<
1ORK>3THEN130
ON K GOTO150,460,510
OPEN15,8,15, "I"
GOSUa520:PRINT:PRINTDS
OPENS, a, 5, "0:COMMANDS,S
,W"tGOSUB520
PRINTiPRINTD$:IF ai<20T
HEN260
CLOSES
IF A1O63THEN110
PRINT" f DOWN )1] SCRATCH
lD0WNl":PRINT"2] APPEND
tDOWNJ";PRINT"3] MENU
{DOWN}"
GOSUB820:K=VAL(Q5) :IFK<
1ORK>3THEN220
ON K GOTO240,2S0,110
PRINT* 15, "S!COMMANDS":G
OTO160
OPENS, 8, 5, "0!COMMANDS,S
,A"iGOSUB520 sGOTOie0
FOR LN=lTO4000!NEXTtLN=
1
PRIHT"{CLRJ!RIGHT}KEY p
HANTOM "D?" (down! "sPRlN
T"LISE - "LN"[DOWNj":L?
HC 280 PRINT" [RVS} (OFF) (LEFT}
GOSUBS20:K=ASC(Q?) :IF K
< 32THENQ5=" i RVS J < 1 OFF J "
IF K>127AND K<1607HENQ5
="(RVS}>lOFFj"
IF K=34THENQ$»"{RVS3 '
(OFF J"
IF K=20THENPRINT"
[2 LEFT]"? tK=LEN(L5)-l :
L5=LEFT$(L5,K-(K<0/-2) )
:GOTO2B0
PRINTQ5;
IF K<>13THENL5=L$+CHR5(
K) :GOTO2a0
PRINT : PRI NT "( DOWN }[ RET ]
FOR NEXT LINEIDOWN}"
PRINT"[DEL] TO REDO LIN
BiDOWNj"
PRINT "ANY OTHER TO EXIT
{DOWN}"
GOSUB820
CF
230
XD
240
MK
250
QF
260
PG
270
MP
290
XQ
300
HA
310
CA
320
RK
330
AQ
340
DF
350
JC
360
SR
370
GP
380
April 1986 COMPUTEI 105
DH 390
IPQ?=CHR? ( 13 )THENLN=LH+
GE
570
DATA 92iREM OOMKAHD ONE
176,74,145,253
ltPRINT#5,L?!GOSUB520iG
{£)
CM
710 DATA 230,253,208,2,230,
OTO270
AP
580
DATA 240,75,201
254,165,254,201,207,208
FQ 400
IFQS"=CHRS(20)THEN270
PR
590
DATA 95;REM COMMAND TWO
,6,165,253,201,255,240
DQ 410
PRINT: PRINT "ARE YOU SUR
(*)
FM
720 DATA 54,32,183,255,41,6
E CY/N]7 ";
GA
600
DATA 240,27,141,119,2,2
4,240,224,169,0,145,2 53
6B 420
GOSUB820 I IFQ$ t > "Y"ANDQ$
33,198,0,32,158,192,76
,169,5,32,195,255
<>"N"THEN420
DM
610
DATA 226,252,173,197,0,
BM
730 DATA 32,51,193,169,15,3
JS 430
PRINTQ5jIFQ$="N"THEN350
201,1,208,246,169,0,141
2,195,255,176,28,32,204
OF 440
PR1NT*5,L?!GOSUB520«PRI
,135,192,76,43,192
,255,120,173,20,3
NTiPRINTD$
RP
620
DATA 233,185,192,76,45,
OF
740 DATA 141,49,192,173,21,
HE 450
CiaSES :GOSUB520 tPRINT < P
RIKTD? sPRINTjCLOSEIS rGO
192,120,173,49,192,141,
20,3,173,50,192,141
3,141,50,192,169,3,141,
20,3,169,192,141
TO110
pr
610
DATA 21,3,88,76,48,192,
BK
750 DATA 21,3,88,96,169,5,3
XR 460
RESTORE»CS=0!READ LB.HB
1 A1=HB*256+LB:A2=-A1 tPRl
2 38,184,192,17 3,184,192
,201,60,208,8,169
2,195,2 55,169,15,32,195
,255,32,138,255
NT "LOADING AT'Al;
EA
640
DATA 0,141,184,192,206,
SS
760 DATA 76,131,164,176,233
MC 470
READKiPRINT" >{LEPr}";s
IFK<0THEN490
183,192,76,48,192,32,13
2,192,10,10,10,10
,162,15,32,198,255,176,
231,32,207,255,176,226
QH 480
CS=CS+K!P0KEA2,KtA2=A2+
1:GOTO470
PB
650
DATA 141,183,192,32,132
,192,13,183,192,141,183
£3U
770 DATA 72,32,207,255,176,
220,201,13,208,247,104,
KC 490
IF CSOZZ THENPRINT"
,192,76,45,192,32,158
201,48,208,211,96,169
iRVSl CHECKSUM ERROR
BE
660
DATA 192,32,154,192,162
GR
730 DATA 15,162,8,160,15,32
{OFFj";CSiGOTOI10
,0,221,186,192,240,7,23
,186,255,169,0,32,189,2
JG 500
SYS Al
2,224,16,208,246,162
55,32,192,255,32
FH 510
PRINT "(CLR)" SEND
CR
670
DATA 0,138,96,173,81,19
HH
790 DATA 51,193,169,5,162,3
PQ 520
INPUT#15,A1,DS,A2,A3
3,96,238,155,192,208,5,
,160,5,32,136,255,169,1
EJ 530
IF AK20THENRETUFN
238,156,192,240,160
0,162,202,160,192
CB 540
D5="{RVS} "+D?+" iOFPj"
(RETURN
BC
680
DATA 173,156,192,201,20
7,208,7,173,155,192,201
JK
300 DATA 32,189,255,32,192,
255,32,51,193,162,5,32,
RH 550
DATA 0,192,76,81,193,17
,255,240,146,96,0,0
198,255,176,159,169
3,183,192,201,0,208,79,
MF
690
DATA 0,48,49,50,51,52,5
Ea
810 DATA 81,133,253,169,193
173,135,192,201,0
3,54,55,56,57,65,66,67,
,133,254,160,0,76,212,1
OF 560
DATA 208,34,173,198,0,2
68,69,70
92,255,-1
01,0,208,24,32,154,192,
FFC
7«0
DATA 48,58,67,79,77,77,
KG
820 GETQS!lPQ$=""THEN820
201,0,240,41,201
65,78,68,83,32,207,255,
GP
330 RETURN @
PRINTERS
1X90
HS80Leilpi|ei
JX80
FXI85 ,
Lai50O(PARl
FXSb
LX80
1234 95
3l8<li
. ■148.95
, 454 95
, 949.95
.331.95
J10 95
STAR MJCRONICS
SG10
SG10C
SG15
S010
SDlS
SR10
SRI5
Power type
MSPIO
MSPI5
MSP20
WSP25
109!
1092. .
1093
3151
3131
Okimate to
Okimale 20
1S2
192
193
84
B08/NL0
1080 \LQ
1380
13805
eooo
BlOO
6300
CITIZEN
PANASONIC
OKIOATA
LEGEND
JUKI
M51
1340
.2000
TOSHIBA
DAISYWRITER
S210 95
234 95
368 35
321 95
440 95
. . 468 95
581 95
299 9b
S274 95
438 95
436 95
548 95
S231 95
368 95
424 95
424 95
259 05
Si 70 95
209 95
219 95
3''9 95
514 95
640 95
SI 49 95
205 9^
259 95
29J 15
S189 95
379 95
769 95
SI 239 95
599
599 95
739 aij
N.EX.
2030 $699 95
2050 699.95
3530 1309 95
3550 1389 95
ANCHOR
Voikiiio()«mi2 SI 79 95
Signalman Expiess 299 9b
Li9Mnin9 2400. 399 95
Wesirmge 59 95
DIGITAL DEVICES
300 Baud lAtani 598 95
HAYES
300 St37 95
300n200 386 9b
1200 B w/soflwafe 378 95
1200B 349 95
NOVATION
SmanCal Plus (1200) S309 95
Professional 2400 629 95
SUPRA
r,lPP10O0ElAIfl-ri 554 95
MPP1064IC-04I 54 95
CAL-ABCO
Smart ream 1200 S199 95
C.O.I.
W^ley Mo (64) S59 95,
SUPRA
MTPII50 £-15 95'
DIGITAL DEVICES
U Pflni/Pon J49.95
UPijnl/16K 69 95
U Print.'G4K 79 95
CARDCO
G-Wiz I4S95
AT-1 (Alaril 48 95
TYMAC
Epson $58 95
PAR(CsnlrcinicsSrd.|. 54 95
DISKETTES
BONUS
SS/DD
OS/00
NO LABEL (with
SS/00
DS/DD
MAXELL
MDI
um
MEMOREX
SS/DD
DS/DO
FF30/20SS/DD
FF50/20SS/DD
FF50/20DS/DD
kHIlttlinusCana
5Vi 3V11
S 9 50 -
13 50 -
Pen & Flip-n-lile)
S1050 -
1450 -
SIS 95 32.95
19.95 38.95
S12.S0 29.95
16 bO 34,95
- b9,9b
36.95 -
42 95 -
to,2E PRINCfTON s.agg,
HX-9 45995
HX-SE 51995
HX-12 469 95
HX-12E 555 95
SH-12 589 95
SB-12E 649 95
i™i(Griion| NEC S99 95
1205 (Amber). 99 95
1290(TTLGieeni 148 95
12e5|TTLAmlwr) 148 95
1460 .269 95
1401(BGB} .659 95
ZVM 122/123-^'"^'^ $ 74 95
ZVM124(TTLAl^ber) 149 95
ZVM131 (RGB) 279 95
ZVM 135(KGB/Cotor) 45995
MJ-tO TEKNIKA J, 79 95
MJ-22 254 96
300G AMDEK S1 16 95
300A 126 95
310A ...144.95
CUk)r300 17595
Cctor500 339 95
Color 600 39895
Cmoiim 468 95
Color 710 .538 95
iColor 722 579 95i
AST
Six Pack Plus $239 95^
Advanlage (AT) 399 95
Graph Pak 689.95
Preview 299.95
Mono Graph Plus 389.95
5251/11 799.95
5251/12 579,95
EVEREX
Color Card J295 95
Magic Card 185.95
HERCULES ,
Color $169.95
Graphics 289.95
PARADISE
five Pack S159.9S
Mono 149.95
Modular Graphics 279.95
Mulli Display 209 95
TECMAR
Graphics Masler S459 95
Caplain64 $189,95
DISK DRIVES
^T,A1.n, INDUS
- 5198-95
GT (Commodore)
218 95
TANDON
IM1C02
S109 95
TEAC
55B
SI 04 95
WESTERN REGION
1-800-351-3455
IrtCACall: 1-800-351-3422
ORDER TOLL FREE "f?^^^^^^
"Where Prices are Bom, Not Raised."
H/7E HOUSE
WESTERN
REGION
11327TraileCenler Orive
Sui1a33S
RanctiuCordgvi.CA 95670
. Cuslomef Service: 916-635-3455
COMPUTER
EASTERN^
REGION
NOOfWW on C OD vfOt'T. FfHiingni onilpr«t>MC4snorant0n<(^in^th( ftmnenui U 5 a P.O. Bfll 4D25
ATO ind fK: tfOtii JflC Ji DO p« fmrnfivS fv Proiirr MM kH JIO CO pe' PMM'M' fiwt ihwmg WllllamspOft. PA 17701
w PA fwjmij n ltl>^m^ km s% v*niv m (WWhfl or«jiKii ftyuh runt ipfwRi Pufnwf Cusicmer Service:
Hours iWcndiiiyllirLi Fiiflav^ 3 '" 6 P "i 717-322-7700^
MASTER CARD 4% VISA 4%
AMERICAN EXPRESS 5%
106 COMPtrm April 1986
Screen Clock For
Have you ever become submerged iti a
project while loorking on your com-
puter and suddenly discovered it is
hours past your bedtime? Or maybe
you need to keep a detailed log of your
worktime on the computer for busi-
ness or tax purposes. If so, this utility
is the answer — it constantly displays
all this information and more on your
monitor screen. It luorks with IBM PC
and PCjr computers using DOS 2.0 or
higher.
Large mainframe computers gener-
ally provide a sysline on the termi-
nal screen which tells you the
current date and time, who has
logged on or off, and whether
you've received any new electronic
mail. Obviously, not all of these
things apply to single-user personal
computers, but some of the features
would be nice to have.
"Screen Clock" is a short ma-
chine language program that prints
the day of the week, date, current
time, and log-on time at the top of
the screen. This information ap-
pears no matter what else your
computer is doing. You can be run-
ning a word processor, copying
files, programming, or whatever —
the day, date, and time will always
be visible.
You might be wondering how
it's possible to keep Screen Clock
active while running another pro-
gram; an IBM PC with PC-DOS
isn't capable of multitasking.
Screen Clock gets around this re-
striction by not using any PC-DOS
function calls, relying instead on
the BIOS (Basic Input/Output Sys-
tem) to handle the screen. This has
several fortunate consequences:
• Sysline updates are not redi-
rected to a file if you're using DOS
file redirection.
More Sugiyomo
• Sysline updates are not print-
ed if you're echoing output to the
printer. (But the sysline is printed if
you press PrtSc for a screen dump.)
• Screen Clock always updates
the current "active" screen. It
doesn't matter if you switch from
the monochrome monitor to the
color monitor, change pages in the
color screens, or even enter a
graphics mode — the date and time
are always there.
Winding Up Tlie Clock
Type in the program listing below,
save a copy on disk, then type
RUN. The program is a BASIC
loader that creates a machine lan-
guage file on your disk with the
filename CLOCK.COM. To start the
clock, simply type CLOCK (upper-
or lowercase is fine) at the A> DOS
prompt, A sysline similar to this
should appear on the top line of
your screen:
Wed Jan 01, 1986 12;01A (00:37)
The day of the week, date, and
current time are self-explanatory.
The figure in parentheses is the
elapsed time (in hours and minutes)
since Screen Clock was started or
reset. This "log-on" time runs up to
23 hours and 59 minutes, then rolls
over to 00:00.
When you run Screen Clock
from DOS, you can select various
options by appending commands
after typing CLOCK. Each com-
mand consists of a slash (/) symbol,
a character, and sometimes a num-
ber. Here are the commands and
options:
/Ch (Chime) where n is an
integer from 0 to 3. /CO means no
chiming; /CI makes the clock
chime hourly; /C2 chimes every
half-hour; and /C3 chimes every
15 minutes. A chime is a low beep
which lasts for less than one sec-
ond. Even if the screen updates are
turned off. Screen Clock always
chimes if you have told it to. The
default is no chiming.
/Uh (Update) where n is an
integer from 1 to 9. This sets how
often screen updates are to take
place — n is the number of half-
seconds between updates. The
more frequent the updates, the
more often the date and time are
refreshed on the screen. However,
more frequent updates also make
other programs run more slowly.
The default is equivalent to /U2
(one second between updates).
/M (Military time). This selects
military (24-hour) time.
/S (Standard time). This se-
lects standard 12-hour time with an
a.m./p.m. marker. Screen Clock
defaults to standard time.
/R (Reset). This resets the log-
on timer. Screen Clock automatically
resets itself to 00:00 when first run.
For example, typing CLOCK
/U3/M/C1 at the DOS prompt
loads and runs Screen Clock, sets
updates every IV2 seconds, sets mil-
itary time, and makes the clock
chime every hour.
The Disappearing Cloclc
Occasionally, the Screen Clock sys-
line may get in the way. For ex-
ample, it may hide text printed on
the top line of the screen. You can
make it disappear by pressing
CTRL and both SHIFT keys simul-
taneously. Pressing this combina-
tion again turns the sysline back on.
Since Screen Clock maintains
its own clock, it might not agree
precisely with the DOS clock. Gen-
erally, it's never more than half a
minute off.
Note that the day, date, and
April 1986 COMPUTE! 107
time are reset every time you run
Screen Clock. If you change the
system date and time, you can reset
Screen Clock by running it again.
For example, the following would
reset the display to 8:00 p.m. on
February 14 (the A> prompts are
supplied by DOS):
A> time 20:00:00
A> date 02-15-86
A> clock
The log-on time is not reset unless
vou append the /R command to
CLOCK.
Although Screen Clock makes
it appear that your computer is do-
ing more than one thing at a time,
it's important to remember that
computers can really perform only
one task at a time (a factor of the
basic architecture of all personal
computers to date). If the computer
spends some if its time updating the
sysline, that's time away from run-
ning the main program. Thus, the
more often the sysline is updated,
the more time it steals from the
computer, and the slower the main
program seems to run. However,
the part of Screen Clock that takes
the most time is printing the sysline
on the screen. If screen updates are
turned off, there is virtually no
slowdown. So during heavy num-
ber crunching you might want to
turn the sysline updates off.
I've been using Screen Clock
quite a bit and haven't noticed
much loss of performance at all. It
seems that the computer spends a
lot of its time waiting for input
(from the keyboard, the disk drives,
and so on); all we're doing is giving
it something else to do in its "spare
time." I have yet to find a program
which doesn't work with Screen
Clock.
As the power of personal com-
puters increases, it becomes possi-
ble to include features once found
only on large mainframe comput-
ers. A sysline such as Screen Clock
is another step in this direction.
How It Works
Mainframe systines are generally
on the bottom row of the screen.
The Screen Clock sysline, however,
must be on the top row because
there's no way via PC-DOS to keep
the bottom row from scrolling. The
sysline would keep traveling up the
screen every time the screen was
scrolled. By placing the sysline on
the top row, it can be refreshed
each time it scrolls off the top of the
screen.
The program itself is broken
into two sections, resident and non-
resident. The resident portion up-
dates the internal counters, sounds
the chimes, and updates the screen
display. It's driven by the user in-
terrupt ICh and is executed about
18 times a second. The nonresident
part sets the initial date and time
and changes the program's options.
When you execute CLOCK-
.COM, the program first checks to
see if the resident portion is already
installed. This is important only
when the program returns control
to DOS. Then it sets the current
date and time and checks for any
optional parameters. After this, the
program is ready to return to DOS.
If the program was already in-
stalled, it simply returns to DOS
and does nothing else. If it needs to
be installed, it first deallocates the
environment space, then returns to
DOS with the "terminate but stay
resident" call to store the resident
portion of the program safely in
memory.
For instructions on entering this listing, please
refer to "COMPUTEI's Guide to Typing In
Programs" In this issue of COMPUTE!.
IBM Screen Clock
EF 100 CLS: LOCATE 10, 10: PRINT"Wr
iting file ..."
DN 110 OPEN "clock, cnm" FOR OLITP
UT flS #1
EL 120 FDR 1 = 1 TO 1310: READ BYTE
:CKSUM=CKSUM+BYTE: IF BYTE
<0 THEN FOR J=l TO ABS(BV
TE) :PRINT#1,CHR«(0) ; rNEXT
J: GOTO 140
6H 130 PRINT«1,CHR4(BYTE>;
60 140 NEXT I: CLOSE 1
FJ 150 IF CKSUrt <> 124185 THEN P
RIIMT"»« Error in DATfi sta
tements «»":KILL "clock. c
ont" :STOP
HJ 160 PRINT:PRINT"File for cloc
k.com has been created.":
END
KN 200 DATA 233,51,4,74,97,110,
32,70,101,98,32,77
DE 210 DATA 97,114,32,65,112,11
4,32,77,97, 121,32,74
EB 220 DATA 117,110,32,74,117,1
08,32,65, 117, 103,32,83
NP 230 DATA 101,112,32,79,99,11
6,32,78,111, 118,32,68
NJ 240 DATA 101,99,32,31,28,31,
30,31,30,31,31,30
FP 250 DATA 31,30,31,83,117,110
,32,77, 111, 110,32,B4
JK 260 DATA 117,101,32,87,101,1
00, 32, 84, 104, 117, 32, 70
PH 270 DATA 114,105,32,83,97,11
6,32,-6,1,0,1,80
SE 280 DATA 19,2,-5,240,18,0,1,
-86, 13,255,80,97
ItL 290 DATA 117,108,80,83,81,82
,86,87,85,30,6, 140
SK 300 DATA 200,142,216,142,192
,232, 198, 1,232,45,0,232
OP 310 DATA 133,0,160,108,1,58,
6, 109, 1, 114,23, 1B7
BH 320 DATA 91,1,232,158,1,137,
14.95. 1.232. 144.0
CJ 330 DATA 128,62,111,1,0,116,
3,232,250,0,7,31
Gi 340 DATA 93,95,94,90,09,91,8
8,207, 180,2,205,22
NC 350 DATA 36,7,60,7,116,6,198
,6, 115, 1,0, 195
m 360 DATA 128,62,113,1,0,117,
67. 128.54. 111.1.1
SJ 370 DATA 198,6,115,1,1,128,6
2, 111, 1,0, 116,4
ft 380 DATA 232,197,0,195,180,1
5,205, 16, 136,62, 114, 1
C» 390 DATA 180,3,205,16,137,22
, 112, 1, 180,2, lB6,-2
JH 400 DATA 205,16,185,31,0,176
,32, 180, 14,205, 16,226
KO 410 DATA 250,180,2,133,62.11
4, 1, 139,22, 112, 1,205
PR 420 DATA 16,195,128,62,199,1
, 255, 1 16, 25, 160, 199, 1
Nft 430 DATA 58,6,198,1,119,5,25
4,6, 199, 1, 195, 198
Ja 440 DATA 6,199,1,255,228,97,
36,252,230,97, 195, 138
« 450 DATA 22,197,1,128,250,0,
117, 1, 195, 128,62,95
00 460 DATA 1,0,117,8,128,62,19
6, 1,0, 116,62, 195
DC 470 DATA 128,250,1,116,50,12
8,62,95,1,30, 117,8
fti 480 DATA 128,62,196,1,0,116,
42, 195, 128, 250, 2,116
KK 490 DATA 30,128,62,95,1,15,1
17,8, 128,62, 196, 1
BF S00 DATA 0,116,22,195,128,62
,95,1,45,117,8, 128
OH 510 DATA 62,196,1,0,116,7,19
5, 198,6, 196, 1,0
n 520 DATA 195,198,6,196,1,1,1
98,6,199, 1,0,176
33 530 DATA 182,230,67,184,102,
10,230,66, 138, 196,230,66
BF 540 DATA 228,97,12,3,230,97,
195, 198,6,108, 1,0
01 550 DATA 191,116,1,252,139,5
4, 102, 1,209,230,209,230
PJ 560 DATA 129,198,63,1,185,4,
0,243, 164, 139,54,97
SC 570 DATA 1,209,230,209,230,1
29, 198,255,0, 185,4,0
BE 580 DATA 243,164,160,99,1,23
2,22, 1,184,44,32, 171
FK 590 DATA 160,101,1,232,12,1,
160, 100, 1,232,6, 1
FO 600 DATA 176,32,170,139,14,9
5, 1, 138,38, 110, 1,232
CE 610 DATA 1,1,184,32,40,171,1
87, 104, 1,232,58,0
!P 620 DATA 130,1,232,242,0,176
,41, 170, 180, 15,205, 16
N3 630 DATA 136,62,114,1,180,3,
205,16, 137,22,112, 1
FP 640 DATA 180,2,186,-2,205,16
,190,116,1,139,207,43
KH 650 DATA 206,172,180,14,205,
16,226,249, 1S0, 2, 138,62
IH 660 DATA 114,1,139,22,112,1,
205, 16, 195, 139,87,2
NB 670 DATA 139,7,187,69,4,247,
243, 179,60,246,243, 138
CK 680 DATA 232,138,204,195,137
,91,1,232,16,0, 115,3
106 COMPUTEl April 1<?86
AD 690 DftTfl 232,43,0,107,104,1,
232,5,0,254,6, 10B
JL 700 DATA 1,195,255,7,117,3,2
55,71,2,131,127,2
Dl 710 DATA 24,114, 17,129,63,17
6,0, 114, 11,199,7,-2
FJ 720 DATA 199,71,2,-2,249,195
,248,195,255,6, 102, 1
HH 730 DATA 131,62,102,1,6,118,
6,199,6,102,1,-2
iA 74B DATA 254,6,99,1,139,22,-?
7,1,232,49,0,50
on 750 DATA 22,99,1,115,42,198,
6,99,1,1,255,6
NI 760 DATA 97,1,131,62,97,1,12
, 118,26, 199,6,97
PL 770 DATA 1,1,0,254,6,100,1,1
28,62,100,1,99
Fft 780 DATA 118,9,198,6,100,1,0
,254,6,101, 1, 195
PD 790 DATA 138,218,50,255,133,
151,50, 1, 128,231,2, 117
Cft 800 DATA 16,246,6,100,1,3,11
7,9, 128,62, 100, 1
OH 810 DATA 0,116,2,254,194,195
,212, 10,5,48,48,134
IE 820 DATA 196,171,195,182,32,
128,252, 1, 116, IB, 182,65
EB 830 DATA 128,253,12,114,5,18
2, 80, 128, 237, 12, 10, 237
EK 040 DATA 117,2,181,12,138,19
7,232,217,255, 176,58, 170
JL 050 DATA 138,193,232,209,255
, 128,254,32, 116,3, 138,198
KB 060 DATA 170,195,82,101,113,
117, 105, 114, 101, 115,32,68
m 870 DATA 79,83,32,50,46,46,3
2, 111, 114,32,97,98
CE 880 DATA 111,118,101,46,13,1
0,36,78,111, 119,32,105
P3 890 DATA 110,115,116,97,108,
108,105, 110, 103,32.114, 10
1
FI 900 DATA 115,105,100,101,110
,116,32,112, 111,114, 116, 1
05
BH 910 DATA 111,110,32,111,102,
32,67,76,79,67,75,46
OX 920 DATA 13,10,36,39,32,117,
110, 107,110, 111,119, 110
CH 930 DATA 32,112,97,114,97,10
9, 101, 116, 101, 114,46, 13
PH 940 DATA 10,36,83,112,101,99
, 105,102, 121,32,97,32
ED 950 DATA 110,117,109,98,101,
114,32, 102,114, 111,109,32
JK 960 DATA 49,45,57,32,102,111
, 114,32,39,85,39,32
KB 970 DATA 115,119,105,116,99,
104, 13,10,36,83,112, 101
JE 980 DATA 99,103,102,121,32,9
7,32, 110, 117, 109,98, 101
FO 990 DATA 114,32,102,114,111,
109,32,48,45,51,32, 102
OP 1000 DATA 111,114,32,39,67,3
9,32, 115, 119, 105, 116,99
OB 1010 DATA 104,13,10,36,-2,47
,180,48,205,33,60,0
Kl 1020 DATA 117,9,186,125,4,18
0,9,205,33,205,32, 184
EC 1030 DATA 0,55,205,33,136,22
,53,5, 187, 125,4, 177
PF 1040 DATA 4,211,235,67,137,3
0,51,5, 184,28,53,205
Hil 1050 DATA 33,190,200,1,141,1
27, 252, 185, 4, 0, 252, 243
IE 1060 DATA 166, 131,249,0, lie,,
41, 180,9,186,154,4,205
10 1070 DATA 33,184,28,37,186,2
04, 1 , 205, 33, 30, 7, 232
JE 1080 DATA 32,0,232,87,0,161,
44,0, 142, 192, 180,73
KP 1090 DATA 205,33,184,0,49,13
9,22,51,5,205,33,232
HJ 1100 DATA 8,0,232,63,0,184,0
,76,205,33,6,31
U 1110 DATA 180,0,205,26,137,2
2,91, 1,137, 14,93, 1
BD 1120 DATA 180,42,205,33,50,2
28, 163,102, 1, 13B, 198, 163
JD 1130 DATA 97, 1,136,22,99,1, 1
98,6,101, 1, 19, 129
BI 1140 DATA 233,108,7,128,249,
99, 118,7, 128,233, 100,254
m 1150 DATA 6,101,1,136,14,100
, 1, 195,30,14,31, 190
Bf 1160 DATA 129,0,252,172,60,3
2, 116,251,60, 13, 116,51
BN 1170 DATA 58,6,53,3,116,241,
138, 224, 36, 223, 60, 82
IL 1180 DATA 116,39,60,77,116,5
1,60,83, 116,55,60,85
06 1190 DATA 116,39,60,67,116,9
0,80, 178,39, 180,2,205
LP 1200 DATA 33,88,138,212,180,
2, 205, 33, 106, 198, 4, 180
KC 1210 DATA 9,205,33,31,195,38
,199,6, 104, 1,-2,3Q
CI 1220 DATA 199,6,106,1,-2,235
,170,38, 198,6, 110,1
(E 1230 DATA 1,235,170,38,198,6
,110,1,0,233, 162, 172
QD 1240 DATA 60,49,114,21,60,57
,119,17,44,48, 177,3
FN 1250 DATA 138,224,210,228,2,
224,38, 136,38, 109, 1,235
EC 1260 DATA 136,186,221,4,180,
9,205,33,235, 187, 172,60
LB 1270 DATA 48,114,13,60,51,11
9,9,44,48,38, 162, 197
LO 1280 DATA 1,233,109,255,186,
B, 5, 180, 9, 205, 33, 235
Lh 1290 DATA 160,0 ©
CAPUTE!
SpeedCalc Fixes
There are two errors in the DOS 3.3 listing
for Apple SpeedCalc in the February 1986
issue (Program 1, p. 95). Lines 0FE2 and
1 1F2 from the listing cannot be entered as
shown because smudged characters were
inadvertently changed when retouched.
The lines should read as follows:
0FE2: CA 10 EB CA 9D 00 02 E8 6E
11F2: FS 24 85 IE 20 22 OB 60 AB
These changes are not necessary if
you have the February 1986 Apple COM-
PUTE! DISK; the program on disk is correct.
ProDOS users will very likely en-
counter the message ERROR #56 when
they attempt disk operations wdth that
version. To correct this, you need to con-
vert the binary (BIN) format file created
by "Apple MLX" into a system (SYS)
format file. To do this, first use the RE-
NAME command to give the copy of
SpeedCalc you entered with MLX the
name SPEEDCALC. MLX. (Make sure that
there is no file called just SPEEDCALC on
the disk.) Then enter the three commands
below, each on a separate line and each
followed by pressing RETURN;
BLOAD SPEEDCALC.MLX
CREATE SPEED CALCTSYS
BSAVE SPEEDCALC, A$2000,E$3D67,
TSYS
The new SPEEDCALC file now on
the disk should function properly. Simply
enter -SPEEDCALC to start it running.
SpeedCalc already appears as a SYS file on
the COMPUTE! DISK for February, so this
change is not necessary' if you have the
disk.
Speedy Strings For Commodore
The "Fast Disk Catalog" utility (Program
3, p. 66) from this ardcle in the February
issue does not work as listed. The SYS
addresses assume that the machine lan-
guage has been appended to the end of
the program, as was done for Program 2.
There are two possible solutions. You can
change the lines below so that the ma-
chine language is POKEd in and ad-
dressed properly:
GM 50 DIMFS(MH) :A=0
CF 100 OPEN1,8,0, "$0":SYS(AA) :
CLOSElrCLOSElS
EC 120 PRINTX5: PRINT "{CYNJ "R
IGHTS(F$CC-1 ),2),C-B,C,
MM-C : B=C : AA=AA-H6 : GOTO80
XG 200 POKE9a7,70:POKE98a,0:SY
S(AD)
Alternatively, you can append the
machine language to the end of the pro-
gram as was done for Program 2. This
results in a shorter program that runs
faster. To do this, don't change any lines in
the program as listed. Instead, add the lines
shown below, then type RUN 500. When
the program ends, delete line 25 and all
lines above 330, then immediately save a
copy of the revised program.
GJ 500 POKE 45, (PEEK(45)-H17)A
ND 25 5: POKE 46, PEEK (46)
+I-(PEEK(45)<117)
KG 510 POKE 47, PEEK ( 45 ): POKE 4
8, PEEK ( 46 ): POKE 49, PEEK
(45)!POKE 50,PEEK(46)
GJ 520 RESTORE:AD=PEEK(45)-l-256
*PEEK(46)-373:FOR 1-0 T
O 367: READ D:POKE AD+I,
D:NEXT
GK 530 PRINT" (2 DOWN) DELETE LI
NE 2 5 AND ALL LINES ABO
VE 330, THEN SAVE NEW V
ERSION":END
KC 1105 DATA 0 ©
April 1984 COMPUTEI 109
The World Inside the Computer
Fred D'Ignazio, Associate Editor
The Robot Inside You
Why are children so fascinated with
robots? For that matter, why is ev-
eryone so fascinated with robots?
The answer is that robots seem the
most lifelike of all machines, and
the most like real people.
When we see a little robot
"toddler" like HEROjr sing songs to
a trashcan, or when we watch a
Movit robot like the WAO (pro-
nounced "Wow") skitter crablike
around the kitchen floor, avoiding
tables and gargantuan human feet,
we feel an uncanny thrill, as if we
are watching a minor miracle. We
know that these little machines are
not alive. But they are sending visu-
al cues of "aliveness" to the deepest
parts of our brain, And these visual
processing centers are flashing the
message "Alive! Alive!" to the
higher-level, rational center of our
brain. We can deny that the ma-
chines are alive, but we will continue
to feel that somehow they really are.
Young children most strongly
and visibly reflect this sense of the
aliveness of robots. Children's un-
fettered imaginations and their in-
complete mastery of the scientific
view of the world (so ingrained in
us adults) cause them to see all sorts
of objects as being alive — including
teddy bears, dolls, shadows, imagi-
nary friends, and, of course, robots.
For them, the logic is simple: If it
seems alive and acts alive, then it
must be alive.
Not only do children ascribe
the quality of aliveness to an object
based on its behavior, but they also
project a psychology — a personal-
ity or character — into the object.
The object's personality stems part-
ly from its behavior (if a robot sings
to a trashcan, it must be a "silly"
robot), but also as a projection of
children's own personalities — their
wishes, dreams, fears, and subcon-
scious feelings. It would be impos-
sible for children to articulate what
these feelings and attributes are,
but they sense them immediately in
a teddy bear, a beloved blanket, or
an animated little robot.
The being that children see in
these objects is very real, since it is a
part of themselves. It may be their
dark side, light side, or their happy
or sad side, but it is an expression of
a dimension of their own personal-
ity. Collectively these dimensions
form children's complex, often con-
tradictory humanity. In a real sense,
then, there is a robot — a multitude
of robots — inside every chUd; in-
deed, there are robots inside every
one of us.
It is interesting to watch chil-
dren struggle with the "Is it alive or
not?" dilemma presented by to-
day's robots and lifelike computer
programs because we will all soon
be facing this dilemma. In the com-
ing years we adults will find our
rational, scientific view of machines
and other nonliving objects chal-
lenged by their increasingly lifelike
characteristics. Their speech, mo-
bility, sense of the world around
them, and lifelike response are im-
proving rapidly. All these traits will
soon offer compelling evidence to
our subconscious that the machines
are really alive.
Kids feel this way already. For
example, one little neighborhood
boy of COMPUTE! staffer Debi Nash
played the new Activision game
"Modern Computer People" in
which little beings live inside the
computer and interact with the
world outside. The boy believed in
the little creatures, and came by the
Nash's house every day to talk with
them and watch them live their
lives. Unfortunately, one of the lit-
tle people began to overeat. No
matter what Debi and her family
did, he kept stuffing himself. Sud-
denly the program crashed, and the
person disappeared. Debi told me
that telling the boy about the per-
son's demise was as hard to do as
telling him that one of his friends
had died.
Here in Birmingham, my six-
year-old son Eric recently spent a
couple days with A.G. Bear from
Axlon Corp. A.G. talks in bear lan-
guage but mimics human speech
tones and rhythms with a little mi-
crochip in a voice box inside his
chest. When Eric took A.G. to bed
the first night, he had to take the
voice box out of A.G. and leave it
on the coffee table in the living
room. Otherwise, A.G. would have
begun talking every time Eric rolled
over in bed or muttered something
in his sleep. Eric happily took the
bear to bed with him, but before he
did he rushed over to the coffee
table and wished the voice box
good night. As I watched this little
ritual from across the living room, I
had the weird feeling that, for Eric,
the voice box somehow held the
little bear's electronic soul.
Last week, my nine-year-old
daughter Catie and I were at the
Bits & Bytes Computer Show for
Children in Dallas, Texas. Together,
she and I spoke to almost 400
schoolchildren about "Robot Pets &
Friends." We demonstrated several
popular robots, including Omnibot
2000, the Movit Family, and
HEROjr, and we held a "Design
Your Own Robot" contest which
Catie judged.
The children's robot designs
were original, diverse, and com-
plex. To some extent, they resem-
bled the robots that Catie and I had
demonstrated and the robots of
popular movies and TV shows. To a
much greater extent, however, they
were reflections of the children's
own personalities. They were a re-
vealing glimpse of the robots that
dwell inside all of us. ©
110 COMPUTEI April 1966
Computers and Society
David D, Thornburg. Associate Editor
Humanizing The User Interface, Part 2
Last month \ wrote about several
ways to make software easy to use.
Now let's look at a model of human
behavior that may hold the key for
those who want to make computer
programs that really stand apart
from the crowd.
Psychologists and sociologists
have spent a lot of time trying to
figure out why people perform ac-
tivities like rock climbing, playing
chess, and performing other tasks
for which the motivation appears to
be internal (or autotelic). One be-
havioral scientist who has studied
this area in some depth is Mihaly
Csikszentmihalyi, whose book,
"Beyond Boredom and Anxiety"
(Josey-Bass, Inc., 1975), makes
some observations that are of great
value to those of us involved with
the design of user interfaces.
I believe that a good user inter-
face makes the computer transpar-
ent to the user so he or she is free to
interact purely with the application.
Now look at some comments (typi-
cal of many) that Csikszentmihalyi
collected from people involved
with activities like playing chess:
"The game is a struggle, and the
concentration is like breathing —
you never think of it. The roof
could fall in and, if it missed you,
you would be unaware of it."
A rock climber said: "You are
so involved in what you are doing
that you aren't thinking of yourself
as separate from the immediate ac-
tivity. You don't see yourself as
separate from what you are doing."
The people described above
are in "flow" — a state where action
and awareness have merged. In this
state the connection between the
participant and the activity is so
close that everything else seems to
disappear.
Each of us has experienced
flow at one time or another — per-
haps while playing a game or
watching a movie. But flow is a
hard state to maintain. For ex-
ample, a computer user might expe-
rience flow with a video game, only
to be bumped out of this state by
the computer not responding fast
enough, or by requiring the entry of
a complex command that needs to
be thought about consciously.
People who are not in a state of
flow are often in a state of boredom
or anxiety. Flow appears as a nar-
row band between the two.
When a person feels that the
complexity of a task is too great for
his or her skill level, a state of anxi-
ety is produced. On the other hand,
someone who has a lot of skill will
be bored if the challenges are not
great enough. Flow exists when the
complexity of a task is appropriate
for the skill of the participant.
As many readers will attest,
good video games provide a nice
model of the flow state. Most games
allow the player to progress
through a series of levels. The first
level may induce anxiety in the
novice player, but the player then
acquires enough skill to enter a
state of flow. The trick in good
game design is to progressively in-
crease the challenge level so that, as
the player becomes more skilled,
boredom doesn't set in.
This same model could be ap-
plied to the design of other types of
programs. For example, a full-
featured word processor might start
out by encouraging the user to
work with only a limited set of fea-
tures, making the product easy to
learn. As the user's skill increases
more and more features can be re-
vealed until the product is
mastered.
This model of the flow state
can help us understand another as-
pect of program design that seems
to be misunderstood by some peo-
ple. There is a difference between
making a product easy to learn and
making it easy to use. Ideally the
product should have both of these
features. Instead we often encoun-
ter programs that provide a tremen-
dous amount of hand-holding for
the neophyte, but which are cum-
bersome to use once the product is
mastered. Ease of learning, in this
case, makes the product cumber-
some to the proficient user.
Many of the complaints that
have been lodged against the early
releases of Macintosh software can
be traced to this conflict. The use of
pull-down menus is wonderful to
the first-time user, since various op-
tions and commands can be pre-
sented in plain English. However,
the physical act of moving the
mouse to the menu bar, opening
the menu, moving the mouse to the
desired selection, and selecting this
item, is cumbersome to the user
who already knows what choice he
or she wants to make. This is why
an increasing number of Macintosh
programs have single keystroke
equivalent commands for menu se-
lections. For example, a menu item
named SAVE is a more obvious
command than Ctrl-S, but the latter
is an easier command to give, once
the user knows its meaning.
Ideally, programs should pro-
vide a seamless transition from be-
ing easy to learn to being easy to
use. Each computer user should be
free to learn at his or her own rate.
In the past, such programs
were hard to create, given the limi-
tations of the computers on which
they were running. Now that the
Macintosh and the Amiga have en-
tered the scene, computer horse-
power is no longer an issue. The
time has come for computers to be-
come as easy to use as any other
appliance we have at home. ©
April 1966 COMPUTEI 111
The Beginners Page
Tom R. Holfhill, Editor
More String-Slicing
Last month we saw how you can
copy pieces of character strings
using the LEFTS and RIGHTS func-
tions found in versions of Microsoft
BASIC. For even more flexibility,
most Microsoft-style BASICs in-
clude a third function for extracting
sections of strings. Called MID$
("mid-string"), this function lets
you copy a section from the middle
of a string.
The basic format is M1D$
[string$,nl,n2), Vi^here stringS is a
string variable or literal string; nl is
a number representing the begin-
ning character position of the
substring you want to extract; and
n2 is a number representing the
number of characters in the sub-
string you want to extract. For
example:
10 A$ = "JAMES FENIMORE COOPER"
20 PRINT MID$(AS,7,8)
30 B$ = MID$(A5,11,4)
40 PRINT B$
50 PRINT AS
When you run this program, the
result is:
FENIMORE
MORE
JAMES FENIMORE COOPER
Line 20 prints the eight charac-
ters starting at position seven in A$,
resulting in the substring FENI-
MORE. (Remember that spaces
count as characters.) Lines 30 and
40 do much the same thing, but
copy the four characters starting at
position 11 into the string variable
B$ before printing them out. This
method is useful if you need to
print B$ later in your program or
manipulate B$ in some other way.
Line 50 shows that the M1D$ func-
tion, like LEFTS and RIGHTS, does
not disturb the original contents of
AS.
M1D$ is handy for so many
different things that it's hard to
come up with a generalized ex-
ample. It can even be used to re-
place LEFTS and RIGHTS— for
instance, MID$(A$,1,10) is equiva-
lent to LEFT$(A$,10), and MID$(A-
S,LEN(A$)-9,LEN(A$)) is the
same as RIGHT$(AS,10). One use-
ful application of MID$ is to store a
bunch of short strings as a single
long string, then pick out the
substring you want with MID$. For
example, let's say you're writing
some sort of program that needs to
print out the months of the year,
perhaps as labels for a budget or
chart. You could abbreviate the
names of the months as equal-
length substrings within one large
string, like this:
10 M$ = "JANFEBMARAPRMAYJUNJUL
AUGSEPOCTNOVDEC"
Now suppose that the numeric
variable M contains the number of
the month you need to print out —
maybe as a result of an INPUT
statement:
20 PRINT "WHICH MONTH TO
PRINT";
30 INPUT M
40 PRINT MID$(M$,M*3-2,3)
Depending on the user's response
(1 for January, 2 for February, etc.),
line 40 prints out the proper month
name. Or you could print out all the
months with a loop — FOR M = l
TO 12:PR1NT MID$(M$,M*3-2,3)
:NEXT M.
Storing all the months in a sin-
gle string and extracting the one
you want with MID$ is more effi-
cient than using 12 separate strings
for the same purpose. It's also more
efficient in some ways than a string
array (a subject we'll cover in a
future column).
Atari And Tl Strings
There are no LEFTS, RIGHTS, or
MIDS functions in TI BASIC or the
Atari BASIC found on Atari
400/800, XL, and XE computers.
These BASICs handle strings a little
differently than Microsoft BASIC
does. (Note that Microsoft BASIC is
available on cartridge for Atari
computers, and some BASICs avail-
able from independent suppliers
also support Microsoft-style
strings.)
Tl BASIC'S statement for seg-
menting strings is SEG$. It works
exactly like M1D$ in Microsoft
BASIC— the statement B$ = SEG$
(AS, 11, 4) is equivalent to
B$ = MIDS(A$,11,4). You can simu-
late LEFTS with a statement in the
form SEG${string$,nl,n2), where
strings is the string you wish to
manipulate, nl is the starting char-
acter position of the segment within
the string, and nZ is the number of
characters you wish to print or
copy. For example, the statement
B$ = LEFT$(A$,6) can be replaced
with B$ = SEGS(A$,1,6).
Simulating RIGHTS is a bit
more complicated. You need a
statement in the form SEG$(string-
$,L^N{stringS) — nl,n2), where ii2 is
the number of characters you wish
to print or copy, and nl is n2 — 1.
For example, B$ = RIGHT$(A$,6}
can be replaced with B$ = SEG$
(A$,LEN(AS)-5,6).
Atari BASIC requires the same
sort of manipulations. To print or
copy any substring in Atari BASIC,
simply specify the starting and end-
ing character positions of the
substring within the larger string.
To translate B$ = LEFT$(A$,6), use
BS = A$(1,6). To simulate RIGHTS,
use a statement in the form string-
$(LEN{string$)-n,lENistri)ig$)),
where stwigS is the string you're
manipulating and n is the number
of characters you wish to print or
copy minus one. For instance, to
translate B$ = RIGHTS(AS,6), use
B$ = A$(LEN(A$)-5,LEN(AS)). To
simulate MIDS, use the statement
string$(nl,n2), where nl is the start-
ing character position (just like
MIDS), and n2 equals nl plus the
number of characters you wish to
print or copy minus one. Thus, the
Microsoft statement B$ = MID$
(AS, 11, 4) is translated as B$=A$
(11,14). ©
112 COMPOTEI Apnt 1986
Telecomputing Today
Arlon R, Leviton
An April Trade Show Report
While most of the computer press
converged on Lost Wages, Nevada
in November of 1985 to attend yet
another humdrum computer trade
show, this columnist packed up his
gear and headed for a countercul-
ture communications fest held on
the multileveled U.S.S. Flotsam, an
ex-petro supertanker converted for
use as a floating convention facility.
Dubbed COMMDECKS 85 by
show sponsor Aski Blok, it provid-
ed a fresh look at the lunatic fringe
of computer communications.
There had been some doubt as
to whether the show would get off
the ground at all. Picket lines were
set up by angry labor protesters
who had been wTitten bad redun-
dancy checks by the show sponsor.
The strikers were demanding even
parity for all data transmitted to
and from the show, making it al-
most impossible for exhibitors to
set up their tables in the days pre-
ceding the show's opening. In the
end, the demonstrators dropped
their parity demands in exchange
for 14 percent more than they had
been receiving, plus additional time
off in the form of one extra data bit
and two stop bits.
It's hard to pinpoint the most
memorable products of the show
(since I spent most of my time re-
covering from the hors d'oeuvres
and beverages served at evening
press conferences), but I owe it to
the readers of this column (and to
the IRS) to take a shot at it.
Don't Just Ask For A Ligtit
For the health-minded telecompu-
terist, Natural Language's line of
optical wave modems are the first
of the new "light" modems, trans-
mitting 30 percent fewer characters
than their wire-based counterparts.
The new units are also said to aid
the digestion of serial data (a.k.a.
"number crunching") due to their
high fiber optic content.
Setting a hard standard to beat
for intelligent modems is Thought
System's new Kreskin 2400. How
smart is it? The Kreskin reportedly
can detect a busy signal before a call
is actually made. Some recent pro-
totypes also refuse to dial a remote
Bulletin Board System if the unit's
advanced circuitry senses there is
nothing interesting to read or
download on the BBS. The heart of
the Kreskin is a superfast propri-
etary CPU chip capable of execut-
ing an infinite loop in 37 seconds. It
translates the incoming stream of
data into your choice of French,
Italian, or Chinese (English is an
extra-cost option).
No trade show would be com-
plete without the obligatory raft of
seminars and workshops, and
COMMDECKS was no exception.
Things did get off to a confusing
start, however, when the kickoff
session "The Future of VideoTex"
turned out to be a panel discussion
on merchandising VCRs and TVs in
Dallas, Fort Worth, Austin, and
Houston.
The highlight of the show's
conference schedule had to be
"Null Modems — Threat or Men-
ace?"— a discussion of the trend to-
ward violence in data communica-
tions hardware. The introduction of
the Ninja, Terminator, and Rambo
class of modem eliminators at the
show further fueled the controver-
sy to new heights.
Micro Telecomputing
With the price of mobile telephones
dropping faster than a brick. Phy-
lum Systems of Paramecium, Cali-
fornia figures to cash in big with a
$14.95 limited-distance mobile mo-
dem dubbed the Amoeba. Phy-
lum's vice president of marketing,
Ernest Flagella, says the single cel-
lular unit will be shipping either
"(1) real soon now, (2) in two
weeks, (3) when the manual comes
back from the printer, or (4) when
Atari ST and Amiga owners stop
bickering over who bought the bet-
ter machine."
Meanwhile, the Arapaho Indi-
an NaHon is entering the packet-
switching network race to serve the
communications needs of telecom-
puterists in the remote West. Bow-
ing to the pressure of environ-
mentalist groups, the Arapaho
elders have agreed to house their
telecommunications equipment in-
side structures disguised as totem
poles. The job of cabling the poles
has been awarded to RS-232 ace
Louie "Bent Pin" Carson. Although
Carson anticipates a high degree of
difficulty in routing the cables with-
in the highly confined spaces of the
totems, he feels that a shot at ever-
lasting fame is worth all of the
headaches. When the job is done,
Carson will have become the first
man to wire a head for a
reservation.
After-hours entertainment got
physical on Friday night as any-
baudy who is anybaudy attended a
sports competition for manufactur-
ers of multiuser LANs dubbed
"Battle of the Network Stars." Over
50 teams vied for the coveted "Lord
of the Rings" title, and the highly
favored New York Subcarriers were
disqualified in the early rounds for
passing bad tokens in the relay.
To be perfectly honest, attend-
ance at COMMDECKS 85 was far
below the anticipated crowd of
25,000 + , While hanging over the
quarterdeck railing on the third day
of the show, I bumped into promot-
er Aski Blok once more and quizzed
him about the low number of at-
tendees. "Well, it's really not too
bad if you take everything into ac-
count," he said. "Our current loca-
tion is kind of hard for people to get
to. I think it would have been a lot
more crowded if we hadn't cast off
from the docks for the open C — the
C programming workshop, that
is." ©
April 1986 COMPUTEI 113
Programming the Tl
C, Regeno
Creating Rhythms
A year ago, in the March 1985 issue
of COMPUTE!, I published a program
called "Drum Practice" for the TI-
99/4A. That program was limited
to quarter notes and quarter rests
and the rhythms listed in DATA
statements. This month, I'm offer-
ing a more complex program. You
can create the rhythm for one mea-
sure by choosing notes and rests,
and then the computer will play the
rhythm for eight measures.
Lines 110-190 print the in-
structions. The different kinds of
notes and rests available will ap-
pear at the bottom of the screen.
You can use the arrow keys (on S
and D) to move the red marker left
or right to make your selection,
then press the ENTER key. Your
choice will then be printed on the
staff above.
The available notes are a quar-
ter note, two eighth notes together,
one eighth note, two sixteenth
notes, a dotted eighth note with a
sixteenth note, a quarter rest, and
an eighth rest.
Line 200 sets the time T equal
to 75. If you want the rhythm to
play faster decrease this number
which represents the duration of a
sixteenth note. Lines 210-240 read
in from data (lines 260-330) the
definitions for the graphic charac-
ters and define the characters from
numbers 91 to 128. Line 340 de-
fines R for a row number for the
staff. Lines 350-360 define the red
arrow used as a marker under the
notes to be selected.
Lines 370-390 define variables
in an array for the seven possible
choices. Line 400 contains the data
for this loop. For each of the choices
from 1 to 7, D(C) is a value repre-
senting the counts — 4 for one
count, 2 for a half count. This vari-
able is used to make sure the user
makes a valid choice. For example,
the computer will not allow a quar-
ter note to be chosen if only a half
of a count is left in the measure.
COL(C) is the column and is used
to place the red marker.
The Rhythm Track
S$(C) represents the durations
when the rhythm is played. A six-
teenth note factor is 1, so the quar-
ter note is 4, Two eighth notes are
22, and one eighth note is 2. The
two sixteenth notes are 11, and a
dotted eighth with a sixteenth are
31. The rests are W and H. As the
notes and rests are chosen, the
string RHY$ will add on values of
S$ (line 870).
Lines 1250-1390 play the
rhythm. Line 1270 finds the length
L of the string RHY$. Line 1280
starts the loop for L number of
times. Line 1290 looks at one char-
acter at a time of RHY$. If the char-
acter A$ is a letter, a rest is
indicated so a frequency of 9999
with a volume of 30 is used. If A$ is
a number, that number is used as a
factor times the previously defined
T for the duration in the CALL
SOUND statement, line 1310. If
you prefer a different sound,
change the frequency numbers in
line 1310. I used the noise of —5
plus the frequency of 330. Line
1370 stops the sound so you can
hear the different notes. The mea-
sure is played eight times.
Lines 420-440 wait for you to
press ENTER before the program
continues. Lines 460-500 clear the
screen and print the notes using the
redefined symbols. The lowercase y
and z are typed by releasing the
ALPHA LOCK key. Most of the
symbols are typed by using the
function key. Lines 510-630 draw
the staff.
Lines 650-690 initialize vari-
ables for choosing the notes.
COUNT and CHECK are used to
determine how many notes and
rests can be used in the measure.
This measure is 4/4 time. A six-
teenth note has a value of 1, so the
COUNT will go up to 1 6. CHECK is
how many points are remaining in
the measure. These numbers are
used to verify which notes and rests
can be used in the measure.
PLACE is the column number
where the note or rest will start
being drawn on the staff. The first
note will start in column 8. PLACE
is incremented depending on which
note or set of notes is chosen. Lines
690-820 are the lines to get the
user's choice. Line 730 makes sure
the left arrow key (S), the right
arrow key (D), or the ENTER key is
chosen; all other keys are ignored
by branching back to the CALL
KEY statement. C is the choice
number, and COL(C) is the column
where the red marker appears for
the choice.
It's Timing That Counts
Line 830 makes sure the choice is
valid. The D timing value must be
less than or equal to the number of
sixteenth counts available. If the
choice is not valid, the program
plays an "uh-oh" sound and
branches back to line 720, which is
the CALL KEY statement to get an-
other choice. Line 870 increments
the RHYS string with the appropri-
ate timing factors. Line 880
branches to the proper place for
drawing the notes or rest and incre-
menting PLACE.
Lines 1220-1240 increment the
COUNT and recalculate the
CHECK time. If the measure is not
full, the program goes back to get
another choice. Lines 1250-1390
play the measure eight times. To
stop the program, press FCTN
BREAK.
If you have trouble running
this program and get an error mes-
sage in 220, 230, or 380, the actual
cause of the error is most likely in
the DATA statements of lines
260-330 or line 400.
All notes are placed at the E
space of the staff, representing a
114 COMPUTE! April 1986
snare drum rhythm. You may add
to the program by including bass
drum notes, cymbal rhythms, and
tom-toms. To use this program for a
melody instrument, you can use the
up and down keys to move the note
on the staff, then use a variable
frequency to play the note.
You may use the general idea
of this program in choosing items to
go with a different theme of graph-
ics, not music — perhaps building a
game or drawing a picture by
choosing different shapes.
Rhythms
100 REM RHYTHMS
110 CALL CLEAR
120 PRINT TAB ( 10) ; "RHYTHMS"
130 PRINT :: "CHOOSE THE NOT
ES FROM THE"
140 PRINT : "BOTTOM OF THE S
CREEN BY"
150 PRINT : "USING THE LEFT
AND RIGHT"
liii0 PRINT : "ARRDU KEYS TO M
OVE AND"
170 PRINT : "THE ENTER KEY T
D SELECT. "
130 PRINT ::"WHEN THE MEASU
RE IS COMPLETE"
190 PRINT :"YDU WILL HEAR T
HE RHYTHM. "
200 T=75
210 FOR C-91 TO 128
220 READ C«
230 CALL CHAR(C,Ct)
240 NEXT C
250 REM DATA FDR CHARACTER
S
260 DATA 00000F0a0F0S080B, 0
000Fe0BFB0S0B0S, 0808083
BF9EB,0000FF0107010101,
10080Cia30300804, 1C2020
1008
270 DATA 000000000000FFD0, D
0D0FFD0D4D0FFD0, D4D0FFD
0D0D0FF, 000000000000FF,
0000FF000000FF, 00000000
0000FF0B
280 DATA 0B0BFF0B2B0BFF0B, 2
B0BFF0B0B0BFF, 000000000
0 0 0FF10, 2 424447E0404FF1
, 102424447E04FF,00000B0
B0a0SFF0a
290 REM
300 DATA 0S0aFF7BFB70FF, 000
00F080808FF08,0000Fa030
a0BFF08, 0000080C0A09FF0
B, 00000F0B0F0aFF0B
310 DATA 0000FB0aFB0BFF0B, 0
000FF010701FF01,0000FF6
27E04FF1, 1020FF000000FF
, 0808FF78F97SFF, 10080C1
B30300S04
320 DATA 1C2020100S, 0000080
808080808, 080a087BFB7,0
0000F0a0B0a0B0S, 0000F80
808080806, 00000a0C0A090
808
330 DATA 627E020408102, 0101
FF0F1F0EFF, 01010 10F1F0E
340 R=5
350 CALL CHAR ( 136, " 103a7CFE
101010 1")
360 CALL COLOR ( 14, 7, 1 )
370 FOR C=l TO 7
3B0 READ D CO , COL (C) ,S»<C)
390 NEXT C
400 DATA 4,4,4,4,8,22,2,12,
2,2, 15, 11,4, 19,31,4,24,
W, 2,28, H
410 REM
420 PRINT : : "PRESS <ENTER>
TO START. "
430 CALL KEY<0,K,S)
440 IF K013 THEN 430
450 REM DRAW NOTES
460 CALL CLEAR
470 PRINT " y CI > :\
480 PRINT~" z zz z zz
Z 2 ' ~ "
490 CALL HCHAR(23, 20, 128)
500 PRINT
510 REM DRAW STAFF
520 CALL HCHAR (R,3, 97)
530 CALL HCHAR(R ,3,98)
540 CALL HCHAR(R ,3,99)
550 CALL HCHAR (R, 4, 100, 22)
S60 CALL HCHAR (R+l , 4, 101 , 22
)
570 CALL HCHAR (R+2, 4, 101 , 22
)
CALL HCHAR (R, 26, 102)
CALL HCHAR (R+1 , 26, 103)
CALL HCHAR (R+2, 26, 104)
CALL HCHAR <R, S, 103)
CALL HCHAR(R+1 , 5, 106)
CALL HCHAR{R+2, 5, 107)
REM CHOOSE NOTES
COUNT=0
CHECK=16
PLACEsB
RHY*=" "
C=l
CALL HCHAR(23, CDL(C) , 13
6)
CALL SOUND ( 100, 1400, 2)
CALL KEY(0,K,S)
IF <K<>13) 1 (K< >S3) * tKO
6a)THEN 720
CALL HCHAR(23, COL(C) , 32
)
IF K<>a3 THEN 780
SB0
590
600
610
620
630
640
650
660
670
6B0
690
700
710
720
730
740
750
760
770
780
790
800
810
820
830
840
850
B60
870
880
890
900
910
920
930
940
950
960
970
980
990
1000
1010
1020
1030
1040
C = C-1
IF C>
90
IF k:<
C = C+1
IF C<
C = 7
BOTD
IF D{
CALL
CALL
GOTO
RHY* =
ON C
030, 1
CALL
CALL
9)
PLACE
6QT0
CALL
CALL
9)
CALL
1 )
CALL
109)
PLACE
BOTO
CALL
CALL
09)
PLAC
GOTO
CALL
)
CALL
=1 THEN
>6B THEN
=7 THEN
700
C) <=CHEC
SOUND ( 15
SOUND ( 15
700
RHY«!iSS (
GOTO 890
090, 1 150
HCHARiR,
HCHAR (R+
=PLACE+3
1220
HCHAR (R,
HCHAR (R+
HCHAR <R,
HCHAR(R+
=PLACE+3
1220
HCHAR(R,
HCHAR (R
E=PLACE+2
1220
HCHAR (R, PLACE, 113
HCHAR (R+1 , PLACE, 1
700 ELSE 6
830
700
K THEN 870
0, 330, 2)
0, 262, 2)
C)
,930,990, 1
, 1 190
PLACE, 108)
1 , PLACE, 10
PLACE, 110)
1 , PLACE, 10
PLACE+1, 1 1
I , PLACE+1,
PLACE, 112)
+1 , PLACE, 1
09)
1050 CALL HCHAR <R, PLACE+1 , 1
14)
1060 CALL HCHAR(R+1 , PLACE+1
, 109)
1070 PLACE=PLACE+2
1080 GOTO 1220
1090 CALL HCHARtR, PLACE, 1 10
)
1100 CALL HCHAR (R+1 , PLACE, 1
18)
1110 CALL HCHAR(R, PLACE+1, 1
15)
1120 CALL HCHAR(R+1 , PLACE+1
, 127)
1130 PLAC£=PLACE+3
1140 GOTO 1220
1150 CALL HCHAR (R*l , PLACE, 1
19)
1160 CALL HCHAR(R+2, PLACE, 1
20)
1170 PLACE=PLACE+3
11B0 GOTO 1220
1190 CALL HCHAR (R+1 .PLACE, 1
16)
1200 CALL HCHAR(R+2, PLACE, 1
17)
1210 PLACE=PLACE+2
1220 COUNT=C0UNT+D CO
1230 CHECK=16-CQUNT
1240 IF CaUNT<16 THEN 700
1250 REM PLAY RHYTHM
1260 FOR TIME=1 TO 8
1270 L=LEN(RHY*)
12B0 FOR M=l TO L
1290 A«=SEG» (RHY»,M, 1)
1300 IF (A*="W" ) + (A«="H" ) TH
EN 1330
1310 CALL SOUND(T«VAL (A«) , -
5,2,330, 4)
1320 GOTO 1370
1330 ReST=T
1340 IF At»="H" THEN 1360
1350 REST=RESTt2
1360 CALL SOUND (REST, 9999, 3
0)
1370 CALL SOUND ( 1 ,9999,30)
13S0 NEXT M
1390 NEXT TIME
1400 FOR DEL=1 TO 500
1410 NEXT DEL
1420 GOTO 460
1430 END ©
Attention Programmers
COMPUTE! magazine is currently
lool<ing for quality articles on
Commodore, Atari, Apple,
anc:i IBM computers (inclucding
the Commocdore Amiga and
Atari ST), If you have an
interesting fiome application,
educational program,
programming utility, or gome,
submit it to COMPUTE!, P.O.
Box 5406, Greensboro, NC
27403, Or write for a copy of
our "Writer's Guidelines."
ApmiQSa COMPUTEI 115
IBM Personal Computing
Donold B. Trivette
Two Checkers And A Manager
Anyone who spells as badly as I do
is bound to love spelling check-
ers— and here are two new prod-
ucts that are getting a lot of
attention.
Borland, the folks who brought
you Turbo Pascal and the popular
SideKick, have come up with another
product headed for the best-seller's
shelf. Turbo Lightning is a memory-
resident spelling checker — it moni-
tors every word you type and
instantly beeps when you've made
a mistake. Then, by pressing a key,
you can call forth (in a box superim-
posed over your text) a list of the
most likely correct words. It uses
the 83,000-word Random House
dictionary as its spelling authority.
Lightning also has a thesaurus op-
tion which lets you select just the
right word from a 50,000-word
Random House thesaurus. All of
this from within any program —
word processor, spreadsheet, data
management, or communica-
tions— just by pressing a few keys.
Here's how it works. Lightning
stores a small dictionary in RAM.
When installing the program, you
must select one of three sizes: 6,000
words, 12,000 words, or 16,000
words. The larger the dictionary,
the larger Lightning's vocabulary,
and the less often it beeps for a
word that is really correct. The
trade-off, as always, is memory. As
you type a word. Lightning consults
the in-memory dictionary and
beeps if there is no match. At this
point, you may press the Alt-F9
keys to make the program consult
the larger disk-based dictionary.
Lightning then either confirms your
spelling as correct or lists possible
choices based on sound-alike words.
Two different disk-based dic-
tionaries are available: one for hard
disk systems and a smaller one for
floppy disk computers. Since most
of us have a small working vocabu-
lary, the scheme of a RAM dictio-
nary supplemented by one on disk
is quite workable.
A Flexible Engine
If you're thinking that a poor spell-
er would be beeped to distraction,
you are right, Fortunately, Lightning
allows the auto-proof mode to be
turned off; checking may then be
requested on individual words or a
screen at a time.
Borland plans to issue addi-
tional dictionaries and databases
for use with the Lightning engine. In
fact, any text-type data — even your
own files — could be indexed and
made accessible. Turbo Lightning is a
sophisticated program with more
potential than just a spelling check-
er, {Turbo Lightning, $99.95, Borland
International, 4585 Scotts Valley
Drive, Scotts Valley, CA 95066.)
The second new spelling-
checker is Reference Set from Refer-
ence Software. It too uses the
Random House dictionary and the-
saurus (what happened to Web-
ster's?). Reference Set doesn't check
each word as you type, but rather
waits for you to request a spelling
check by pressing Alt-D for dictio-
nary or Alt-T for thesaurus. A win-
dow pops up over your text
showing possible correct spellings
(or alternate words); pressing a key
deletes the old word and inserts the
new one.
Although the dictionary is ref-
erenced from disk, the program
maintains an index in memory so
the time to locate a word, even with
floppy disk, is typically less than a
second. Reference Set includes two
different sized dictionaries and the-
sauri for floppy and hard disk sys-
tems. The modest Reference Set
engine — the memory-resident pro-
gram that accomplishes the look-
up— uses about 20K; by
comparison. Lightning uses about
83K. {Reference Set Version 1,
$89,95, Reference Software, 2363
Boulevard Circle, Walnut Creek,
CA 94595.) Both programs work
best with a hard disk, but either
may be used with a two-drive flop-
py system.
Automatic Stock Quotes
The "Manager" referred to in the
title of this column alludes to a new
program that works with the popu-
lar Andrezv Tobias' Managing Your
Money (see "IBM Personal Comput-
ing," December 1985). Called Msh-
aging the Market, it's a
communications program that dials
the Dow Jones News/Retrieval ser-
vice, collects quotations, and up-
dates the prices for the securities in
an MYM portfolio. Pushing three or
four keys dials the number, enters
the password, selects the service,
requests the quotes, updates the
files, and disconnects. One nifty
feature allows quotes to be ordered
either by the percent change or by
the absolute change — a real time-
saver for those who monitor a lot of
stocks. Output can be printed or
saved for later analysis in a file
readable by Lotus 1-2-3.
If you think this program
would be too expensive to use with
a modest portfolio, you may be
pleasantly surprised. I've been up-
dating about a dozen stocks, five
days a week, after 6 p.m. when the
rates are lowest, and the bill from
Dow Jones is less than $10 a month.
Managing the Market comes with a
temporary password and one hour
of free time with Dow Jones, so you
can begin using it right away. Of
course, you must have a modem;
the program supports all Hayes and
Hayes-compatible modems as well
as a dozen or so other makes. {Man-
aging the Market, $79.95, MECA, 12
Saugatuck Ave., Westport, CN,
06880.) ©
116 COMPUTil April 1986
INSIGHT: Atari
Bill Wilkinson
Binary Files, Unite!
I've had several people Vi^rite me
that various programs designed for
use with binary (machine language)
files don't work with Atari's Macro
Assembler {AMAQ, OSS's MAC/65,
or a couple of other assemblers. Or
possibly a program will work with a
small binary file produced by these
assemblers, but not with a larger
one. Why all these problems when
the simple Atari Assembler/Editor
cartridge works so well?
The root of the problem is the
Atari Disk Operating System defi-
nition of a binary file, so let's exam-
ine that first. (Besides, maybe we'll
learn a few extra goodies on the
way.) A legal Atari binary file has
the following format:
1. A header of two bytes, each with
a value of 255 (hex $FF).
2. Two more bytes indicating the
starting address of a segment of the
binary file. The two bytes are in
standard 6502 low-byte/high-byte
order,
3. Two more bytes indicating the
ending address of that same file
segment.
4. A sequence of bytes which con-
stitute the actual binary code to be
loaded into memory for the seg-
ment defined by the preceding four
bytes. The number of bytes may be
determined by subtracting the start-
ing address from the ending ad-
dress and then" adding one.
5. If there are no further segments,
there should be no more bytes in
the file.
6. If there are more segments, then
repeat this sequence of steps start-
ing at either step 1 or step 2.
And that's it. A really neat,
clean, format. Watch out for that
last step, though. First, it says that
the number of segments is theored-
cally unlimited. Second, it says that
header bytes (dual hex $FF bytes)
mat/ occur at the start of any seg-
ment. It also implies that there is no
particular order necessary to a bina-
ry file; it's perfectly OK to load the
segment(s) at higher memory ad-
dresses before the one(s) at lower
addresses.
RUN And INIT Vectors
Before moving on, there are two
other niceties about DOS binary
files worth knowing. When DOS
loads a binary file (including an
AUTORUN.SYS file at powerup), it
monitors two locations. The sim-
pler of the two is the RUN vector.
Before DOS begins loading the bi-
nary file, it puts a known value into
the two bytes at locations 736-737
(hex $2E0-$2E1). When the file is
completely loaded (i.e., when DOS
encounters the end of the file, step
5 above), if the contents of location
736 have been changed, then DOS
assumes the new contents specify
the address of the beginning of the
program just loaded. DOS then
calls the program (via a JSR) at that
address.
The second monitored location
is the INIT vector at address 738
(hex $2E2). This vector works much
the same as the RUN vector, but
DOS initializes and checks it for
each segment as the segments are
loaded. If the INIT vector's contents
are altered, then DOS assumes the
user program wants to stop the
loading process for a moment, long
enough to call a subroutine. So
DOS calls (via a JSR) at the request-
ed address, expecting that the sub-
routine will return so the loading
process can continue. This is a very
handy feature. Most of you have
probably seen it at work, such as
when you run (or boot) a program
which puts up an introductory
screen (maybe just a title and a
PLEASE WAIT message) and then
continues to load.
The other important difference
between the RUN and INIT vectors
is that DOS leaves channel number
one open while the INIT routine is
called. (DOS always opens and
loads the binary file via this chan-
nel.) I suppose a really tricky pro-
gram could close channel one, open
up a different binary file, and then
return to DOS. DOS would proceed
to load the new file as if it were
continuing the load of the original
one. Most of the time, though, INIT
routines should not touch channel
one.
More On Segmented Files
Back to the main subject: Why do
some programs have problems vrith
binary files produced by some as-
semblers? Well, if all programs fol-
lowed the complete binary file
format as given by steps 1 through
6 above, there would probably be
no incompatibilities. Unfortunate-
ly, many people who have used no
assembler except the old cartridge
have ignored segmented files. They
have assumed that a binary file
consists of steps 1 through 4, one
time only, with a single large seg-
ment. Perhaps this is because many
programmers first worked with Ap-
ple DOS, CP/M, and other operat-
ing systems with not-so-intelligent
binary file formats. Or perhaps it is
because the supposedly simple as-
sembler cartridge is, in some ways,
smarter than more advanced as-
semblers. In particular, the assem-
bler cartridge will not produce
multiple segments unless the pro-
grammer specifically asks for them
(via an *= directive to force a
change to the location counter).
Yet other assemblers (includ-
ing AhAAC and MAC/ 65) never pro-
duce a segment longer than a
particular size (usually a page — 256
bytes — or less). If the programmer
coded a longer segment, these as-
semblers automatically break it up
into smaller pieces. Why? Probably
to gain speed and lessen the work
of assembly, since the assembler
cartridge is doing a lot of work
remembering the ending addresses
April 1986 COMPUTEI 117
of segments.
Now, if my only concern were
those few programs which don't
properly load all binary files, I
would simply have showed their
authors the way to fix them. But
there is a secondary advantage to
programs which consist of larger
segments: They load faster! Some-
times much faster. So this month I
give you the BASIC program be-
low, which takes any binary file
and attempts to "unify" it. In par-
ticular, if the start address of one
segment directly follows the end
address of the preceding segment,
they are consolidated into a single
segment. And so on, so far as the
space in BUF$ allows.
And, last but not least, there's
another minor bonus. Often, some-
one who writes an assembly lan-
guage program purposely leaves
space to be filled in later (e.g., by a
filename, counter, etc.). If this re-
served space occurs in the midst of
code {probably not good practice,
but it happens), it forces even the
assembler cartridge to break the file
into segments. But if the reserved
space is significantly less than a
sector (say under 50 bytes or so), it
may be faster to let DOS load filler
bytes. So you can change the value
of the variable FILL in line 1160 (to
40, perhaps), and this program will
automatically generate up to the
specified number of fill bytes in an
effort to better unify the file.
Whew! Was this month's topic
too heavy for you? Then write me
(P.O. Box 710352, San Jose, CA
95071-0352) with your suggestions
for a topic. No treatises please. One
or two pages works best. Thanks.
Binary File Unifier
For instructions on entering this listing, pleas©
refer to "COt\/IPUTEI's Guide to Typing In
Programs" in this issue of COmputei.
6E 1110
U 1120
DI 1 130
W. 1140
i; 1 150
m 1200
CJ 1210
U 1220
NO 1230
Eft 1240
EE 1250
FS 1260
A* 1270
IE 1280
OB 1290
DI 1300
KJ 1400
JC 1410
a 1420
FJ 1430
JD 1440
KD 1450
PI 1460
XB 1470
Df 1480
LC 1490
EH 1500
I1F 1510
1600
1610
1620
1630
REM
REM
BUFS
DIM
DIM
ENEW
REM
REM
REM
PRIN
1 e n
g"
PRIN
and
h "
PRIN
e
ode .
PRIN
PRIN
? ■';
INPU
PRIN
f i 1
INPU
REM
REM
date
REM
OPEtX
BET
, SEG
IPS
GHIG
PRIN
n g f
mat "
END
REM
REM
OPEN
PUT
, SEG
REM
REM
i g i n
REM
BUFF
allocate buffer
IZE-FRE (0) -300
BUF« (BUFSIZE)
FILEDLD« (40) , FIL
* (40)
get file name
T " I need tuo f i
ames: An existin
T " object file
a new file whic
T " will get tti
n i f i ed ' object c
T "Ex i st i-ng file
T It 16, FILEDLD*
T "CS SPACEBJNew
e? ■■;
T «16,FILENEWt
open f i 1 es , val i
existing one
#1,4,0, FILEOLDt
#1 , BEGLDW: GET ft 1
HIGH
EGL0W=255 AND SE
H=255 THEN 1500
T :PRINT "Existi
lie: Invalid for
i nput file okay
#2, a, 0, FILENEW*
#2, SEGLOW: PUT «2
HIGH
process a new or
TR = 0
00 1640
eUF*-CHR*{0> :BUF*(BU
FSIZE) =CHR« (0)
KE 1650
BUF* (2)=BUF«:REM zap
buffer
KL 1660
PUT #2,SEeL0W:PUT #2
, SEGHIGH
m 1700
REM
ftfl 1710
REM process a segmen
t
REM
KO 1720
IF 1730
SET #1 , ENDLOW: GET #1
,ENDHIGH
AH 1740
SEGSTART=SEGLQW+256«
SEGHIGH: SEGEND=ENDLa
W+256tENDHIGH
HE 1750
SEGLEN=SEeEND-SEGSTfl
RT+1
HF 1760
REM read segment int
o buffer
HL 1770
FOR PTR=1 TO SEGLEN
KH 17B0
GET #1 , BYTE: BUF«(BUF
PTR+PTR)=CHR«tBYTE)
(IE 1790
NEXT PTR
r.H 1800
REM
flf 1 B 1 0
REM check head of ne
xt ssgment
KP 18 20
REM
J6 1830
GET »1,SEGL0W:GET «1
.SEGHIGH
K 1840
IF SE0L0W=25S AND SE
GHIGH = 255 THEN GET *t
1,SEGL0W:GET tfl.SEGH
IGH
OL 1850
SEGNEXT=SEGL0W+256*S
EGHIGH
EB 1860
GfiP=SEGNEXT-SEGEND-l
HC 1870
IF GflP>FILL QR GAP<0
THEN 2000
U 18B0
BUFPTR=BUFPTR+SEGLEN
+ GAP
ED 1S90
IF BUFPTR+256>BUFSIZ
E THEN 2000
BL 1900
GOTO 1700
);6 2000
REM
IJ 20 10
REM need to dump buf
ier to
-fi 2020
REM prepare for new
origin
H 2030
REM
LE 2040
PUT #2, ENDLGW:PUT «2
, ENDHIBH
OS 2050
FDR PTR=I TO LEN(BUF
«)
U 2060
PUT #2, ASC <BUF» (PTR)
PC 2070
NEXT PTR ®
Write computer programs at home..
BE SUCCESSFUL WITH
COMPUTERS
Setf-paced. one-on-one instruction
Unique SluOy program
mcludes word-processing.
boDhkteping, data base
mandgemefif. mailing lisis.
invenlories. and all about
personal compuiers
No eipirienct nxdsdl
Leirn even belore you
detide in 9 comiiiitir.
Prctesiianil. hone aitd
busigast ifpliciliiins.
r HALIX iNSTlTUTE
CENTER FOB COMPUTER EDUCATION DEPT 6 1 A
1543 W OLyMPIC. *226
IDS ANGELES. CA 90015-3SW
lESf Ssnd me free ml&fma^on on flow I can learn atoul
compuiers a^d programming at home'
Address -
j Cily_________Stale/Zip-
PREMIUM QUALITYI LFFETIME WARRANTY!
DISK SALE!
m
W. by.
Bin
lou'u racainiK Ih-iTi ti Mmtm^ Ihi NICHC&T
QUAUTY PREMtlFM DISKS MADE! C*f1l'fl«d.
aa*tM%»»4 ]aO^ *r>6< haa. MOnCC ttkCA
SATISFACTION Cu*iHHTEU gill
SS fl3 3:l'
,f !:;!;:!
[lOalSK|j_U^Eil;lllH
lj;*_!i;cJ«[rScJli(J^3t
JS.Pqfcf iSMPt a ccTiititlii »UD^ S'r ! Kc Sic , SEc M:
BS.[?ij;3l]EHSiTT|SSi3,ML-IH
QS/KQ >1l DENSITY rr iBMAr itll^T
] ;" double 11
f 04 USE S2c E9:
jirh'iD'iice'jM
i-M i.ftJtVfir^JSij
ID ;iOC,5C(f: in _£K .
ng I t' TD6 1D?,«:
159il9E I.Utl.E
?SS 7ti;Z40730 ?ftQ;f025&|;<S
INCREDIBLE PRICES ON COMPUTER ACCESSORIES!
UNlFlLE-lDO hdlds 100 disks, with [chck & \vi, removcible lop. il3.3i
UftlflLE-70 HoliJi 70 iJijks. IFke 'Fllp^fl-lile.- snLE70 HM
UhltMllQ IIBRARY CAS£&, holds 10 ditii, dcir plHtk. r^LIia 39t
UMPAK S',- DISK MWLEHS, lipd <jrfbe*fd. «g i» 3 HiVt sUMPlK 10 fof 55
LETTER gUAL COMPUTER PAPEB. 2500 ifcMtiJQs mio^oturi a =ill" pLQP %79
DHAFT QUAL COMPUTER PAfEH, 3300 tfiwti.l 5a itd-ptirl B j.U" =WJP JM
HOW rO ORDER: Pjy by MC-VJii<Am*i-COD. ar «ind eti,ti< -llti <^6*r,
minlrnum ordsi 130, Jdd (J lidi' ihip|>l/l< jCtS Ifti (hlppJrE raliB on papvr].
We cjji tM(i A<ii«n ictajri la ii.chr>iiii wiih bdimI cudil, n^Nmiim {Hiichai.«
ardvr f loa, tOB UniKttK kH orbni rmitl kic<ude dtiftlmB pHivi* and
^TREFT aildrvtt^ Mnnei-buch 30 iiy »atkil*<tlor lujf artH. S*nd lar
FUEE CATI^IOC khtkif IDO'i of d*ccunt cioinpiriH wppllMJ
r^^^ (800)34 J-0472
UNITECH
IN MAi5:(6lT|'UNI-TECH-'
30 J HUFtLtrST.
CAMBHtPCE.M^ 02141
ATTENTION T.I. 99/4A OWNERS
• Diskettes - 590; eacti! Your choice SS or
DD
• 51 2K Now Available for the 99/4A!
• 99/8 Level 4 Computer Upgrade Now
Available
• Over 1500 Hardware and Software
Accessories at Similar Savings
THE WORLD'S LARGEST
COMPUTER ASSISTANCE GROUP
Now serving over 35,000 members worldwidB
with the bast in lechnicat assistance, service,
and pfoilucts tor the Texas Instrument 99/4A
Compular.
To become a member and receri's newsletters,
catalog, technical assistance and membership
package, send $10.00 lor a ONE "Tear Member-
ship ro.'
99/4A National Assistance Group
National Headquarters
P.O. Box 290812
Ft. Lauderdale, Florida 33329
Attention Mennbership Division
For Further Information Call 24 Hours
(305) 583-0467
News & Products
Interactive Science
Fiction Game For
Commodore, Apple
PSI'5 Trading Company, from Accolade
Software, is a science fiction "mini-
drama," whose plot and outcome are
contingent on the player's relationship
with the story's characters. The game
features detailed graphic depictions of
30 different characters who interact
with the player through conversational
text.
The story revolves around the PSI-
5 Trading Company, a space freighter
setting off on a mission to save the
inhabitants of the Parvin Frontier from
alien invaders. As captain of the ship,
you must choose a crew of 5 from 30
applicants, each possessing special
skills and a unique personality. The
success of the mission hinges on the
confidence you have in your crew to
handle its responsibilities.
Suggested retail price for the Com-
modore 64 version is $29.95. The Apple
version retails for $34.95.
Accolade Software, 20863 Stevens
Creek Blvd., Cupertino, CA 95014.
Circle Reader Service Number 212.
Epyx Games Available For
Amiga And Atari ST
Epyx has announced that two of its
most popular computer games, and a
microcomputer version of a classic
mainframe adventure game, will be
available for the Amiga and Atari ST
this spring. In Winter Games, up to eight
people can compete in seven events
from the Winter Olympics. The original
Commodore version of the game fea-
tured excellent graphics and sound.
Rogue was originally a mainframe com-
puter adventure game often played on
college campuses. And the Temple of
Apshai Trilogy offers a wide range of
multiple dungeon levels, featuring
1400 separate chambers, plus enhanced
high-resolution graphics.
Both versions of all three games are
expected to retail for between $19-$39.
Epyx, Inc., 1043 Kiel Ct., Sunnyvale,
CA 94089.
Circle Reader Service Number 213,
Bantam Software Promotions
Bantam Electronic Publishing is offer-
ing software promotional deals for pur-
chasers of Sherlock Holmes In "Another
Bow," The Fourth Protocol, and The
Complete Scarsdale Medical Diet.
Through April 15, special rebate cou-
pons can be used to take $5 off the price
of each of those programs. And,
through March 31, Bantam will take
entries in its Mystery Weekend contest,
the winner of which will get a weekend
for two in Boston to participate in a
"mystery weekend" at the famous
Parker House hotel. Special Holmes
mystery pamphlets are available in
many participating software stores. The
pamphlets contain a mystery which
you solve, and then submit to Bantam
for a drawing in mid-April.
Bantam Electronic Publishing, Bantam
Books, 666 Fifth Ave., New York, NY
10103.
Circle Reader Service Number 214.
Sports Tutorials Designed By
The Pros
Avant-Garde has enlisted the help of
three famous professional athletes in
developing a line of sports tutorials. Joe
Theismann's Pro Football offers advice
on training and strategy to help develop
quarterbacking techniques; improves
overall football skills; and helps you
understand the finer points of the
game. Plays are illustrated through
live-action diagrams. Dave Winfield's
Batter Up! advises on pitchers, batting
stance, swing height, grip and hitting
strategy to help you develop expert bat-
ting techniques. The package also in-
cludes Winfield's book. Batter Up! The
Act of Hitting, and a four-player batting
game, SlugfestL Chris Evert-Lloyd Tennis
provides animated demonstrations of
grip, stroke, game strategy, and special-
ized exercises. The program helps you
learn the rules and choose the best
equipment, and teaches concentration
techniques to prepare you mentally for
a match.
The Commodore 64 version of
each program retails for $34.95. The
Apple II version (64K RAM minimum)
and IBM-PC/PCjr version (128K RAM
minimum) retail for $39.95.
Avanl-Garde, 37B Commercial
Blvd., Novalo, CA 94947.
Circle Reader Service Number 215.
Infocom At Ttie Big Top
In Ballyhoo, Infocom's new interactive
mystery, you are a small -town circus-
goer who sticks around after the show
to explore the exotic back lot. What you
discover is a mysterious underworld of
crime and corruption, into which the
circus owner's daughter has been kid-
napped. In order to find her, you must
solve a series of puzzles that are hidden
among the circus folk.
Ballyhoo, one of Infocom's standard-
level, all-text adventure games, is avail-
able for the Apple 11-series and Macin-
tosh; Atari XL/XE and ST series.
Commodore 64/128 and Amiga, and
the IBM PC and PCjr, for a list price of
$39,95,
Infocom, Inc., 125 Cambridge Park
Dr., Cambridge, MA 02140.
Circle Reader Service Number 216.
New From Better Working
Word Processor with Spellchecker is the
third product to be released in Spinna-
ker's Better Working line of home pro-
ductivity software. The program is a
full-function word processor, with a
50,000-word American Heritage Dic-
tionary to catch spelling mistakes. It
also features a 750-word personalized
user dictionary, preview mode, micro-
commands for alternative print styles,
and window-based menus and help
screens.
The other titles in the Better Work-
ing series are Spreadsheet and File and
Report. Word Processor with Spellchecker
can perform mailmerge with Better
Working File and Report. Each program is
available for the Apple 11 series ($59.95)
and the Commodore 64/128 ($49.95).
Better Working, Spinnaker, One Ken-
dall Square, Cambridge, MA 02139.
Circle Reader Service Number 217.
April 1966 COMPUTEl
119
Classified
SOFTWARE
TI-99/4A Softu-are/Hiirdware bargains.
Hard-to-find items. Huge selection.
Fast service. Free catalog. D.E.C.,
Box 690, HicksviUe, NY 11801
LOTTO PICKER. Improve vour chances for those
Million Dollar Jackpots! Picks LOTTO. VViN-4, &
Daily Numbers. All USA & Can. games incl.
Expandable! IBM/C64/T199 $29.95. Order Now!
1-800-341-1950 Ext. 77. Mail Orders; Ridge, 170
Broadway, <t201-C, NYC, NY 10038. Catalog.
PROJECT PLANNING/MANAGEMENT using
the C64, SX, or C128. Data sheet for SASE -
Prgm for 5106.95 (CA res. add 6% sis tx).
LAWCO, Dept. C. Box 2009, Manteca, CA 95336
Genealogy Program for the C64. "FAMILY
TREE" will produce Pedigree Charts, Family
Group Records, Individual Files, Indexes, Searches
of Ancestors- LDS version available. "The Best"
genealogy program for the 64. S49.95,
GENEALOGY SOFTWARE, FOB 1151, PORT
HURON. MI 48061, (519) 344-3990.
Animal Records maintained with "PETIGREE"
for the C64. Produces Litter, Awards, Breeding
Show, Individual Records, Pedigree Charts.
S69.95. GENEALOGY SOFTWARE, FOB 1151,
PORT HURON, MI 48061, (519) 344-3990.
FREE SOFTWARE CATALOG!
Call Toll-Free 1-800-5541 162, Tevex, Inc.
Save 'A off retail prices. We carry SSI,
Elect, Arts, Infocom, and many more!
COMMODORE: TRY BEFORE YOU BUY Top 25
best-selling games, utilities, new releases, Visa,
MasterCard. Free brochure. Rent-A-Disk. 908 9th
.'\ve.. Huntington, WV 25701 (304) 522-1665
DISCOUNT SOFTWARE: Amiga/Apple/
Atari/C64-128/1BM PC-PCjr/TRS-80/Timex/
Sinclair. Free Catalog: WMJ DATA SYSTEMS,
4 Buitertly Dr., Hauppauge, NY 11788
3 GAMES-PHOBOS-Destroy a falling moon.
10101 - Plav 21 against vour computer.
STALACTITE ATTACK-fry to 5Ur\'ive in a
cave with attacking stalactites-requires joystick.
ALL THREE for 32K ATARI, ON DISK. S3 check
or M.O. to: M. A. Grossman, VV205 N6844
Woodivard Ct., Menomonee Falls, Wl 53051
Dr. T's .MUSIC SOFTWARE
A music composition system with true
word processing capabilities for APPLE and
COMMODORE computers. Also algorithmic
composition programs for computer
generation of sequences. Fully editable
Bach, Keyboard, Bass and Drum disks.
Patch librarians a\'ailable for Yamaha and
Casio synthesizers. Reviewed in Jan '85
COMPUTE! (617) 244-6954, Dr. T's, Dept. C,
66 LOUISE RD„ CHESTNUT HILL, MA 02167
DATA BASE 130 FOR THE ATARI 130 XE
Data files up to 64K, Sort on any field.
Print address labels or listings. $25.
Bill Von Sennet, P.O. Box 14585,
Pittsburgh. PA 15234. Specify 810 or 1050.
IBM PCjr OWNERS: We have the software you
want. We also have complete 2nd drive additions
or kits. FREE CATALOG. OOWL SOFTWARE,
1435 Bumiey Sq. N., Columbus, OH 43229
120 COMPUTEI April 1986
FREE SOFTWARE for C64, C128, IBM & CPM.
For info send large stamped (39c) return
envelope to: PUBLIC DOMAIN USERS GROUP,
PO Box 144 2- Al, Orange Park, FL 32067
TI-99/4A QUALITY SOFTWARE for Business,
Home and Entertainment * * BONUS Software
Offer! • • Send for FREE catalog to MICRO - BIZ
HAWAII, BO,X 1108, Pearl City, HI 96782
TAX SPREADSHEET FOR C64, ATARI, Tl:
$19.95. + S2 s/h. Includes 1040, 2106, 2441,
A,B,C,D,E,G,SE,W,1040A. Yearly updates SIO.
T1-99/4A w/ExtBasic, Atari w/4aK or more.
Specih' disk or tape. Steve Karasek, 855 Diversey,
St. Louis, MO 63126 (314) 961-2052
ATTENTION TI99/4A OWNERS III
See our ad in Product Mart.
The 99/4A National Assistance Group
(305) 583-0467
" ATARI USERS " GUEST FOR LIFEII
Realistic Adventure with weapons, killers and
traps. $14.95 tape/disk. FREE CATALOG.
Octavlan Software, Box 174, Republic, OH 44867
GAMES FOR C-641...ANY CHOICE $19.95 T/D.
Navy War, Startrek, Football, Risk. Free game
w/each buy. RK Games, 420 W. Central,
Medicine Lodge, KS 67104. (316) 886-5097
MISCELLANEOUS
HELP IS ON THE WAYI
Just call 1-800-334-0868 to get your free
copy of the latest COMPUTE! Books Catalog!
If voir need help in getting information on
alfof the latest COMPUTE! book titles
available plus all COMPUTE! backlist titles,
call tis today!
Maxell .MDl, $1.29-MD2, SI.99. Dvsan I04/ID,
$1.79-I04/2D, S2.39. Shipping S3.75. Also
Verbatim, IBM, 3M, BASF. TAPE WORLD, 220
Spring St., Butler, PA 16001, 1-800-245-6000.
Visa, MC.
EARN MONEY, PART OR FULL TIME, AT
HOME with your computer-manual & forms -
S9.95. Write Computer Programs for Profit!
How-to guide with forms, letters, lips-S7.95.
Also-Computer Consultant Handbook. How to
earn $ consulting with business-$7.95. ]V Tech,
P.O. Box 563, Ludington, Mi 49431
Discount computer printer ribbons for all
makes/models Ex; Epson 1500 Nvlon $6.99,
Catalog: TWS 1314 4th Ave., Coraopolis, PA
15108 (412) 262-1482 Visa or MasterCard.
NEED THAT CIRCUIT DESIGNED
into artwork, or that artwork tabbed into
circuit boards, and the PCB's assembled?
Then send requirements for free quote to
the PC Master, 10221 Slater Ave.,
Suite 103-329, Fountain Valley, CA 92708
1985 INDEX TO ALL COMMODORE
MAGAZINES. C64/128 disk with search/
browse/print of articles, programs, reviews. Send
S16.95 ck or m.o. to: PCdex, Box 563, Dayton,
OH 45409
IBM PCjr REPORT: THE NATIONAL NEWS-
LETTER. PCjr-specific articles, reviews. Public
Domain from across the nation. $18./yr. FCjr
CLUB, FOB 95067, Schaumberg, IL 60195
RIBBONS for MOST PRINTERS at LOW PRICES!
DELTA MICRONiCS
BOX 10933, ERIE, PA 16514-0933
(814)455-5667
ROBOT KITS - The MOVIT family of computer
robots that you have been reading about.
PEPPY - navigates by two-way sound sensor,
zips around on three wheels, S24.99 -t- $2 s/h.
AVOIDER - infra-red obstacle avoidance system,,
walks on six legs, $44.99 + S2 s/h.
MR. BOOTSMAN - Wired remote control six leg
robot. Two motor control, $34.99 + $2 s/h.
Catalog SI. 00. Send orders to: CompuTek,
530 South 6th St., Sunnyside, WA 98944
COMPUTE! Classified is a Iow-co3t way to tell over 350,000 fnicrocomputer owners
about your product or service.
Rates: S25 per line, minimum of four linos. Any or all of Ific first line 5et in cipilil letters .il no charge. Add $1.S
por line (or boKifate words, or S5(l for the entire ,id set in boldface (any number of lines.)
Termsr Prepaymeni Ls required Check, money order, .'\merican Express. Visa, or .MasterCard is accepled. .Make
cSiecks payable !o CO\lPUTEi Publications.
Form: .Ads are sub)ect to publisher's approval and must be either typed or legibl)' printed. One line equals 40
loiters and spaces between words. Please underline words to be set in boldface.
General Inlormalion: Adveniscr; using post office bos numLiers in their ads must supply permsnem address and
ielephone numbers. Orders will not be acknowledged. Ad will appear in nest available issue after receipl.
Closing: Kith of the third month preceding cover date (e.g., June issue closes March lOlh). Send order and
remittance [o: Harry Blair, Classified Manager, COMPUTE!, PO, Bos 5406, Greensboro, NC 27403. To place an
ad by phone, call Harry Blair al (9191 175-9809.
Notice: COMPUTE! Publications cannot be responsible for offers or claims of advertisers, but will attertipt to screen
oul misleadinj; or questionable copy.
MLX
Charles Srannon, Program Editor i
Machine Language
Entry Program For Atari
MLX is a labor-saving utility that allows
almost fail-safe entry of machine lan-
guage programs published in COMPUTE!.
You need to knmv nothing about machine
language to use MLX— it was designed for
everyone.
"MLX" is a new way to enter long
nnachine language (ML) programs with
a minimum of fuss. MLX lets you enter
the numbers from a special list that
looks similar to BASIC DATA state-
ments. It checks your typing on a line-
by-line basis. It won't let you enter
illegal characters when you should be
typing numbers. It won't let you enter
numbers greater than 255 (forbidden in
ML). It won't let you enter the wrong
numbers on the wrong line. In addition,
MLX creates a ready-to-use tape or disk
fUe.
Using MLX
Type in and save MLX (you'll want to
use it in the future). When you're ready
to type in an ML program, run MLX.
MLX asks you for three numbers: the
starting address, the ending address,
and the run/init address. These num-
bers are given in the article accompany-
ing the ML program presented in MLX
format. You must also choose one of
three options for saving the file: as a
boot tape, as disk binary file, or as boot
disk. The article with the ML program
should specify which formats may be
used.
When you run MLX, you'll see a
prompt corresponding to the starting
address. The prompt is the current line
you are entering from the listing. It
increases by six each time you enter a
line. That's because each line has seven
numbers — six actual data numbers plus
a checksum number. The checksum
verifies that you typed the previous six
numbers correctly. If you enter any of
the six numbers wrong, or enter the
checksum wrong, the computer rings a
buzzer and prompts you to reenter the
line. If you enter it correctly, a bell tone
sounds and you continue to the next
line.
MLX accepts only numbers as in-
put. If you make a typing error, press
the DEL/BACK SPACE; the entire
number is deleted. You can press it as
many times as necessary back to the
start of the line. If you enter three-digit
numbers as listed, the computer auto-
matically prints the comma and goes on
to accept the next number. If you enter
fewer than three digits, you can press
the comma key, the space bar, or the
RETURN key to advance to the next
number. The checksum automatically
appears in inverse video for emphasis.
MLX Commands
When you finish typing an ML listing
(assuming you type it ail in one ses-
sion), you can then save the completed
program on tape or disk. Follow the
screen instructions. If you get any errors
while saving, you probably have a bad
disk, or the disk is full, or you've made
a typo when entering the MLX program
itself.
You don't have to enter the whole
ML program in one sitting. MLX lets
you enter as much as you want, save it,
and then reload the file from tape or
disk later. MLX recognizes these
commands:
CTRL-S Save
CTRL-L Load
CTRL-N New Address
CTRL-D Display
To issue a command, hold down
the CTRL key (CONTROL on the XL
models) and press the indicated key.
When you enter a command, MLX
jumps out of the line you've been typ-
ing, so we recommend you do it at a
new prompt. Use the Save command
(CTRL-S) to save what you've been
working on. It will save on tape or disk,
as if you've finished, but the tape or
disk won't work, of course, until you
finish the typing. Remember to make a
note of what address you stop at. The
next time you run MLX, answer all the
prompts as you did before — regardless
of where you stopped typing — then in-
sert the disk or tape. When you get to
the line number prompt, press CTRL-L
to reload the partly completed file into
memory. Then use the New Address
command to resume typing.
To use the New Address com-
mand, press CTRL-N and enter the ad-
dress where you previously stopped.
The prompt will change, and you can
then continue typing. Always enter a
New Address that matches up with one
of the line numbers in the MLX-format
listing, or else the checksum won't
work. The Display command lets you
display a section of your typing. After
you press CTRL-D, enter two addresses
within the line number range of the
listing. You can break out of the listing
display and return to the prompt by
pressing any key.
Atari MLX: Maciilne
Language Entry
For instrgctions 00 entering this iisting, please
refer to "COMPUTEI's Guide to Typing in
Programs" in this issue of compute!.
Sfl 100 GRAPHICS 05 DL = PEEK (560
) +256«PEEK<56 1 ) +4: POKE
DL-l,7l!P0KE DL+2,6
SJ110 PDSITIOfJ 8,0:? "MLX-iP
OSITION 23,0:? "fgrySf^fr
tZ^EETOar" : PQKE 710,0:?
JK120 7 "Starting Address";:
It^PUT BEG:? " Ending
Address"; : INPUT FIN:?
"Run/Init Address";: IN
PUT STARTADR
CD 130 DIM A (6) , BUFFERS (FIN-e
E6+127) ,T»C20),FS(20),
CI0»(7) ,SECT0R«(12B),D
SKINV$ (6!
JJ140 OPEN #1,4,0, "K: ":? :?
, "Dape or Ei s); : " ;
!«1S0 BUFFER* = CHR«(0) : BUFFER
$(FIN-BEB+30)=BUFFERS:
BUFFERS(2)=BUFFeR»:SEC
TOR«=BUFFER*
BC 160 ADDR = BEG:CID*="hfifi": CI
DS<4) =CHR* < 170) : CIO* C3
)="LV":CI0t<7)=CHR«(22
a)
EJ 170 GET #1, MEDIA: IF MEDIA<
>84 AND t1EDIA<>6B THEN
170
fO 180 ? CHR«<MEDIA) :? :IF ME
DIAOASCCT") THEN BUF
FERS="":GaTO 250
PL 1<?0 BEG = BEG-24: BUFFERt = CHR
*(0) :BUFFER«(2)=CHR*(I
NT{ (FIN-BEI3 + 127)/128) )
KF 200 H=INT (BEG/256) :L=BE6-H
*256: BUFFER* (3) =CHR«(L
) : BUFFER* (4) =CHR* (H)
£C210 PlNIT = BEG + 8: H=INT (PINI
T/256) : L=PINIT-H*256:B
UFFER*<5)=CHR« (L) : BUFF
ER« (6) =CHR« (H)
fS 220 FOR 1=7 TO 24 : READ A:B
UFFER*(I)=CHR*(A3 :NEXT
I:DATA 24, 96, 16"?, 60, 1
41,2,211, 169, 0, 133, 10,
16'?, 0, 133, 1 1 , 76,0, 0
DP230 H=INT (STARTADR/256) :L =
STARTADR-H»256: BUFFER*
(15)=CHRS(L) :BUFFER*(1
9) =CHR* (H)
KL 240 BUFFERS (23)=CHR*(L) : BU
FFER* (24) aCHR* (H)
HI 250 IF MEDIAOASCt "D" J THE
N 360
00 260 ? :? "Boot [<;isl< or Bin
ary Qi 1 e; " ;
LI 270 BET #1,DTYPE:1F DTYPE<
>68 AND DTYPE<>70 THEN
270
tl!280 ? CHR*(DTYPE) : IF DTYPE
=70 THEN 360
PJ 290 BEQ = BEG-30:BUFFER« = CHR
« (0) : BUFFER* (2)=CHR» < I
Aprii 1966 COMPUTEI 121
IE 300
HH 310
AO320
GA 330
0! 340
M350
JP 360
Ji; 370
NF3e0
BF 390
01 400
SI 410
HO 420
M 430
a 440
m4S0
HA 460
FH 470
EA 480
HH 490
Jn 500
KK 510
CH S20
EK 530
FL 540
H!SS0
6nS60
FI 570
PH 580
FB 590
B 600
ni 610
NT( (FIN-BEG+127)/128) )
H=INT (BeB/256) : L=BEG-H
«2S6: BUFFER* (3) =CHR* <L
): BUFFER* (4) =CHR«<H)
PINlT = STARTfiDR:H=INT CP
INrT/2S6) :L=PINIT-H«25
6:BUFFER*(5)=CHR«(L» :B
UFFER«(6)=CHR«(H)
RESTORE 330:FDR 1=7 TO
30: READ A:BUFFERt(I!=
CHR»(A! :NEXT I
DATA 169,0,141,231,2,1
33, 14, 169,0, 141,232,2,
133, IS, 169,0, 133, 10, 16
9,0, 133, 11 , 24, 96
H-INT(BES/256) s L=BEQ-H
»256: BUFFER* <8) =CHR* (L
) : BUFFER* (15) =CHR«(H)
H=INT(STARTADR/256):L=
STARTADR-H»2S6: BUFFER*
(22>-CHR* (LI : BUFFER* (2
6)'=CHR» (H>
8RAPHICS 0:POKE 712,10
:POKE 710,10!PDKE 709,
2
? ADDR; " s " ; : FOR J=l TO
6
GOSUB 570: IF IM = - 1 THEN
J=J-1:G0T0 380
IF N=-19 THEN 720
IF N=-12 THEN LET READ
=1:Q0TD 720
TRAP 410: IF N=-14 THEN
? :? "New Address";:!
NPUT ADDR:? : GOTO 370
TRAP 40000: IF N< >-4 TH
EN 480
TRAP 430:7 :? "Display
: From" ; : INPUT F:? , "To
";: INPUT T:TRAP 32767
IF F<BEG DR F>FIN DR T
<BEG OR T>FIN OR T<F T
HEN ? CHR* (253) ; "At le
ast ";BEG;", Not More
Than ";FIN:BQrO 430
FOR I=F
: ? I i " :
I N=PEEK
+K-BE6>
LEN (STR
IF PEEK
GET #1,
GOTO 37
? T«;",
S ( I 26 ) ;
OTO 370
IF N<0
0
A ( J ) =N:
CKSUH=A
6) 1256:
SUM=CKS
KSUM-25
EXT 1
RF=12B:
S:GOSUB
0,0:RF=
IF NOC
" I near r
: ? : GOT
FOR W=l
SOUND 0
FOR 1=1
BUFFER*
A ( I) : NE
ADDR=AD
IN THEN
flOTD 71
N=0: Z=0
GET #1,
= 44 OR
IF A<32
RN
IF flOl
GDSUB 6
0 T STEP 6:?
iFOR K=0 TO 5
DR (BUFFER*) +1
*="000": T« ( 4-
N) ) )=5TR*(N)
64X255 THEN
POP iPQP ! ? :
NEXT K:? CHR
EXT I i ? :? :G
THEN ? : GOTO 37
NEXT J
DDR-INT (ADDR/25
FOR 1=1 TO 6:CK
UH+A < I ) :CKSUM = C
6* (CKSUM>255) :N
SOUND
570:
0:7 C
KSUM
BCt "
0 370
5 TO
,50, 1
TO 6
) +ADD
XT I
DR + 6:
370
0
0, 200, 12,
SOUND 0,0,
HR«(126)
THEN ? : ?
CHR* (253) ;
0 STEP -1:
0,M:NEXT U
:POKE ADR(
R-BE6+I-1 ,
IF ADDR<=F
A: IF fl-155 OR A
A=32 THEN 670
THEN N=-fl:RETU
26 THEN 630
90: IF 1=1 AND T
:NEXT 1
' ";CHR«(
=44 THEN N=-l:? CHR* ( 1
26) ; :GOTO 690
Sfl620 GOTO 570
6J 630 IF A<48 OR A>57 THEN 5
80
AN 640 ? CHR* (A + RF) ; : N=Nt 10 + A
-48
ES 650 IF N>255 THEN 7 CHR* (2
53) ; ! A»126:Q0T0 600
EH 660 Z = Z + liIF Z<3 THEN 580
JH 670 IF Z = 0 THEN ? CHR* (253
) ; sGOTO 570
KC 680 ? ", " J : RETURN
1(0690 POKE 752,1:F0R 1 = 1 TO
3:? CHR* (30) S :GET «6,T
: IF T044 AND TOSS TH
EN ? CHR* (A) ;
PI 700 POKE 752,0:7
126) ; :RETURN
KI1710 GRAPHICS 0:POKE 710,26
:POKE 712,26:P0KE 709,
2
fF 720 IF I1EDIA = ASC( "T") THEN
890
BS 730 REM man^Tm
K740 IF READ THEN ? :? "Loa
d File":?
IE 750 IF DTYPE< >70 THEN 1040
AE 760 7 :7 "Enter AUTORUN.SY
S for automatic: use";?
5? "Enter -filename":!
NPUT T»
eF770 F* = T«:IF LEN(T*)>2 THE
N IF T*( 1,2)<>"D: " THE
N F*="D! " : F» (3) sT*
»J 780 TRAP a70:CLOSE t2:0PEN
#2,B-4»READ, 0,F»: ? :?
"Work! nq ..."
JH 790 IF READ THEN FOR 1 = 1 T
0 6:BET #2,A:NEXT I : GO
TO 820
PD S00 PUT #2,255:PUT fl2,255
nj810 H=INT(BEQ/256) :L = BEG-H
t256sPUT #2,L:PUT #2,H
:H-=INT(FIN/256) ;L-FIN-
H«236:PUT #2,L:PUT #2,
H
KF S20 GOSUB 970: IF PEEK(195>
>1 THEN 870
IF S30 IF STARTADR = 0 DR READ
THEN 850
FO 840 PUT #2,224:PUT «2,2:PU
T #2,22S:PUT »2,2:H=IN
T(STARTADR/256) :L=STAR
TADR-H«256:PUT #2,L:PU
T #2,H
6C 850 TRAP 40000: CLOSE #2:7
"Finished. ": IF READ TH
EN 7 :7 :LET READ=0iQO
TO 360
HF860 END
FOa70 ? "Error "; PEEK ( 195 ); "
trying to access":? F
*:CLOSE #2:? : GOTO 760
HC 880 REM ■;TiTil^^:1J=*
HN B90 IF READ THEN ? ;? "Rea
d Tape"
HI 900 ? :? :? "Insert, Rewin
d Tape.":? "Press PLAY
"; : IF NOT READ THEN
? "& RECORD"
LF9I0 7 :? "Press l:l:*ili:i: whe
n ready:";
JH 920 TRAP 960:CLOSE #2:0PEN
#2, 8-4 (READ, 128, "C: " :
? s ? "Worki ng. . . "
NH 930 GOSUB 970: IF PEEK (195)
>1 THEN 960
SC 940 CLOSE #2:TRAP 40000:?
"Finished,":? :? :IF R
EAD THEN LET READ=0!GO
TO 360
KF 950 END
CO 960 ? :? "Error "; PEEK (195
);" when readi ng/wri t i
ng boot tape":? i CLOSE
#2:G0T0 890
NB970 REM mi.mm.t-.T. g^»-: iu .m jVTn
EA 980 X
EF 990 I
C
HD 1000
FH 1010
HD 1020
BB 1030
KA 1040
SC 1050
HE 1060
FC 1070
EC 1080
CP 1090
AC 1 100
LE 1110
LI 1120
10 1 130
PL 1 140
fn 1 150
DN 1160
F5 1170
Elf 1180
m 1 190
JJ 1200
(I 1210
BL 1220
16 1230
!H 1240
«P 1250
EE 1260
H 1270
ES 1280
6L 1290
NL 1300
A! 1310
JA 1320
PN 1330
CA 1340
PF 1350
!P 1360
CO 1370
PD 1380
A« 1390
KJ 14 00
KS 14 10
32!REM Fi lett2,*20
CC0I1 = 834: ICBADR = a36: I
BLEN=S40; ICSTAT=B35
H = I NT (ADR (BUFFER*) /25
6) : L=ADR( BUFFER* )-H»2
36:P0KE ICBADR+X,L:PO
KE ICBADR+X+1,H
L=FIN-BEB+l:H=INT(L/2
56) !L=L-H«256:P0KE IC
BLEN+X,L:P0KE ICBLEN+
X + 1 ,H
POKE ICCOM+X , 1 l-4tREA
D: A=USR(ADR (CI04) , X)
POKE 195, PEEK (ICSTAT)
: RETURN
REM «.-i^Hii«J:»g^a
IF READ THEN 1100
? :? "Format Disk In
Drive 1? (Y/N)J";
GET »l,AsIF A078 AND
A<>a9 THEN 1070
? CHR*(fl):IF fl=78 THE
N 1100
? :? "Formatting...":
XIO 254, #2,0,0, "D: " :7
"Format Complete":?
NR=INT((FIN-BEG+127)/
128) : BUFFER* (FIN-BE6+
2)=CHR»{0) : IF READ TH
EN ? "Reading ...": GOT
0 1120
7 "Writing. . . "
FDR 1=1 TO NR:S=I
IF READ THEN GOSUB 12
20:BUFFER«(II128-I27)
=SECTOR«: GOTO 1160
SECTOR*=BUFFER* (1*128
-127)
GOSUB 1220
IF PEEK (DSTATSX >1 TH
EN 1200
NEXT I
IF NOT READ THEN END
? :? :LET READ=0:GOTa
360
? "Error on disk acce
ss.":? "May need form
att i ng . " : GOTO 1040
REM
REM ^naniiMasg^^aeE
M:1.1H*^:T3
REM Drive ONE
REM Pass buffer in SE
CTOR*
REM sector # in varia
ble S
REM REflD=l for read,
REM READ=0 for write
BASE=3»256
DUNIT=BASE+1:DC0MND=B
ASE+2: DSTATS=BASE+3
DBUFLD=BASE+4:DBUFHI=
BaSE+5
DBYTLD=BftSE+S: DBYTHI=
BASE+9
DAUXl=BASE+ia:DAUX2=B
ASE+1 1
REM DIM DSKINVt (4)
DSKINV*="hLS":DSKINyt
(4) =CHR« (228)
POKE DUNIT, 1: A=ADR(SE
CTORS) :H=INT(A/256) :L
= A-2561:H
POKE DBUFHI.H
POKE DBUFLO.L
POKE DCOMND, 37-5«READ
POKE DAUX2, INT (S/256)
:PDKE DAUXl ,S-PEEK (DA
UX2) 1256
A=U5R<ADR (DSKINV*) )
RETURN @
122 COMPUTEI April 1986
MLX
Machine Language Entry Program
For Commodore 64
Charles Brannon, Program Editor
MLX is a labor-saving utility that al-
lows almost fail-safe entry of machine
language programs published in COM-
PUTE!. You need to know nothing about
machine language to use MLX — it was
designed for everyone. At least 8K ex-
pansion memory is required.
MLX is a new way to enter long machine
language (ML) programs with a mini-
mum of fuss. MLX lets you enter the
numbers from a special list that looks
similar to BASIC DATA statements. Ft
checks your typing on a line-by-line
basis. It won't let you enter illegal char-
acters when you should be typing num-
bers. It won't let you enter numbers
greater than 255 (forbidden in ML). It
won't let you enter the wrong numbers
on the wrong line. In addition, MLX
creates a ready-to-use tape or disk file.
Using MLX
Type in and save the appropriate ver-
sion of MLX (you'll want to use it in the
future). When you're ready to type in an
ML program, run MLX. MLX for the 64
asks you for two numbers: the starting
address and the ending address. These
numbers are given in the article accom-
panying the ML program.
When you run MLX, you'll see a
prompt corresponding to the starting
address. The prompt is the current line
you are entering from the listing. It in-
creases by six each time you enter a line.
That's because each line has seven num-
bers— six actual data numbers plus a
checksum number. The checksum verifies
that you typed the previous six numbers
correctly. If you enter any of the six
numbers wrong, or enter the checksum
wrong, the computer rings a buzzer and
prompts you to reenter the line. If you
enter it correctly, a bell tone sounds and
you continue to the next line.
MLX accepts only numbers as in-
put. If you make a typing error, press the
INST/DEL key; the entire number is
deleted. You can press it as many times
as necessary back to the start of the line.
If you enter three-digit numbers as list-
ed, the computer automatically prints
the comma and goes on to accept the
next number. If you enter less than three
digits, you can press either the space bar
or RETURN key to advance to the next
number. The checksum automatically
appears in inverse video for emphasis.
To simplify your typing, MLX rede-
fines part of the keyboard as a numeric
keypad (lines 581-584):
U I O 7 8 9
H J K L become 0 4 5 6
M , . 12 3
64 MLX Commands
When you finish typing an ML listing
(assuming you type it all in one session),
you can then save the completed pro-
gram on tape or disk. Follow the screen
instructions. If you get any errors while
saving, you probably have a bad disk, or
the disk is full, or you've made a typo
when entering the MLX program itself.
You don't have to enter the whole
ML program in one sitting. MLX lets you
enter as much as you want, save it, and
then reload the file from tape or disk
later. MLX recognizes these commands:
SHIFT-S: Save
SHIFT-L: Load
SHIFT-N: New Address
SHIFT-D; Display
When you enter a command, MLX
jumps out of the line you've been typ-
ing, so we recommend you do it at a new
prompt. Use the Save command to save
what you've been working on. It will
save on tape or disk, as if you've fin-
ished, but the tape or disk won't work,
of course, until you finish the typing.
Remember what address you stop at.
The next time you run MLX, answer all
the prompts as you did before, then
insert the disk or tape. When you get to
the entry prompt, press SHIFT-L to re-
load the partly completed file into mem-
ory. Then use the New Address
command to resume typing.
To use the New Address command,
press SHIFT-N and enter the address
where you previously stopped. The
prompt will change, and you can then
continue typing. Always enter a New
Address that matches up with one of the
line numbers in the special listing, or
else the checksum won't work. The Dis-
play command lets you display a section
of your typing. After you press SHIFT-
D, enter two addresses within the line
number range of the listing. You can
abort the listing by pressing any key,
64 MLX: Machine Language
Entry
10 REM LINES CHANGED FROM MLX
{SPACEiVERSION 2.00 ARE 750
,765,770 mD 860 trem 50
20 REM LINE CHANGED FROM MLX V
ERSION 2.01 IS 300 I rem 147
100 PRINT"{CLR}g63"rCHR$(142) r
CHR$(8) ; ! POKES 3 281,1: POKES
3280,1 sretin 67
101 POKE 788, 52: REM DISABLE RU
t5/ST0P trem 119
110 PRINT" (RVS) {39 SPACES)";
:rem 176
120 PRINT" {RVSH 14 SPACES]
(right) {0FFiE*3£ERVS)
(RIGHT) (right) 12 SPACES)
i*HOFF3^*l£{RVS}£{RVS]
(14 SPACES]"; : resin 250
130 PRINT" (RVSH 14 SPACES)
(right) §gM RIGHT)
(2 RIGHT) {0FF)£(RVS)£
g*3(0FF)g*lfRVST
(14 SPACES}"; :rem 35
140 PRINT" (RVSH41 SPACES)"
:reni 120
200 PRINT" (2 D0WH3 (PURKBLK) M
ACHINE LANGUAGE EDITOR VER
SION 2. 02 {5 DOWN)": rem 238
210 PRINT"|5|(2 UP)STARTING AD
DRESS?{a SPACES) (9 LEFT)";
: rem 143
215 INPUTS:F=l-F:C$=CHR?(31-t-ll.
9*F) :rem 166
220 IFS<256OR(S>40960ANDS<4915
2 ) ORS> 53 247THENGOSUB3000 :G
OTO210 :rem 235
225 PRINT: PRINT: PRINT :re!n 180
230 PRINT"i53 52 UP)ENDING ADDR
ESS? (8 SPACES) (9 LEFT)";: I
NPUTE3F=1-F:C9=CHRS{ 31+119
*F) :rem 20
240 IFE<256OR(E>40960ANDE<4915
2)ORE>53247THENGOSUB3000:G
OTO230 :rem 183
250 IFE<STHENPRINTC5;"(RVS)END
ING < START (2 SPACES )" :GOS
UB1000:GOTO 230 : rem 176
260 PRINT: PRINT: PRINT : rem 179
300 PRINT"{CLR)";CHR$(14) :AD=S
:retn 56
310 A=lsPRINTRIGHT$("0000"+MID
S(STR$(AD),2),5);":";
:rGm 33
315 F0RJ=AT06 :rem 33
320 GOSUB570:IFN=-1THENJ=J+N:G
OTO320 :rem 228
390 IFN=-211THEN 710 : rem 62
400 IFN=-204THEN 790 : rem 64
410 IFN=-206THENPRI NT: INPUT"
(DOVfiJl ENTER NEW ADDRESS "; Z
Z : rem 44
415 IFN=-206THENIFZZ<SORZZ>ETH
ESPRlNT"(RVS}OUT OF RANGE"
:GOSUB1000!GOTO410:rem 225
417 IFN=-206THENAD=ZZ: PRINT :G0
TO310 :rem 238
420 IF NO -196 THEN 480
:reni 133
430 PRINT:INPUT"DISPLAY:FROM";
F: PRINT , "TO" ; : INPUTT
s rem 234
440 IFF<SORF>E0RT<SORT>ETHENPR
INT "AT LEAST" ;S;" (LEFT], S
OT MORE THAN";E:GOTO430
: rem 159
450 FORI=FTOTSTEP6!PRlNT: PRINT
RIGHT5( "0000"+MID5(STR$( I)
, 2 ) , 5 ) ; " I " ; : rem 30
451 FORK=0TO5:N=PEEK(1+K):PRIN
TRIGHT$( "00"+MID$( STR5(N) ,
2), 3);","; :rem 66
Aprn986 COMPUTCI 123
460 GETA?:IFA?>""THENPRINT:PRI
NT:GOTO310 : rem 25
470 NEXTK!PRINTCHR5(20) ; :NEXTI
:PRINT: PRINT : GOTO310
: rem 50
480 IPN<0 THEN PRINT:GOTO310
:rem 168
490 A( J)=N;tlEXTJ : rem 199
500 CKSUM=AD-INT(AD/256)*256:F
0 RI= 1 T06 : CKSU H= ( CKSU M+A ( I )
)Ai.>JD255:NEXT :rem 200
510 PRINTCHR$(18) ; :GOSUB570:PR
IHTCHR?(146); : rem 94
511 IFN=-1THENA=6:G0T0315
■ :reni 254
515 PRINTCHR5(20) :IFN=CKSUMTHE
N530 :rem 122
520 PRINT: PRINT "LINE ENTERED W
RONG : RE-ENTER": PRINT: GOS
UB1000:GOTO310 : rem 176
530 GOGUB2O00 :rem 218
540 F0RI=1T06:P0KEAD+I-1,A(I) :
NEXT:POKE5427 2,0;POKE5427 3
,0 :rem 2 27
5 50 AD=AD+6:IF AD<E THEN 310
I rem 212
560 GOTO 710 :rem 108
570 N=0 !Z==0 :rem 88
530 PRINT "Ei;3": srem 81
581 GETA?:IFAS = rtlENSSl
: rem 95
582 AV=-{AS="H")-2*(A$=",")-3*
(A5=". ")-4*(A$="J")-5*(A?=
"K" )-6*(A$="L") :rera 41
583 AV=«AV-7*(A$="U" )-8*(AS = '"I"
)_iJ*{A5="0") :IFAS = "H"THENA
$="0" :rein 134
584 IFAV>0THENA5=CHR$(48+AV)
: rem 134
585 PRINTCHR$(20),- !A=ASC{A5) :I
FA=13ORA=44ORA=32THEN670
-.rem 229
5 90 I FA>128THENN=-A: RETURN
: rem 137
600 IFA<>2g THEN 630 : rem la
610 GOSUB690:IFI = lANDT=44THi;NN
= -i:PRrNT"(OFFHLEBTl
{LEFT}"; :GOTO690 :reiii 62
620 GOTO570 : rem 109
630 IFA<48ORA>57'rHEN580
: rem 105
640 PRINTA?; :N=N*ia+A-48
: rein 106
650 IFN>255 THEN A=23 :GOSUB10lJ
a:GOTO600 :rem 229
660 Z=Z+L:IF2<3TH£N5B0 : rem 71
670 IFZ=0THENGOSUB1000:GOTO570
:rem 114
680 PRINT", "r rKETURN : rem 240
690 S%=PEEK{209)+256*PEEK(2ia)
+PEEK(211) :rem 149
691 F0RI=lTO3:T=PEEK(S%-I)
: rem 67
695 IFT<>44ANDT<>58THENPQKES%-
I,3 2:HEXT : rem 205
700 PRINTLEFT$( "t3 LEFT)",I-1)
; : RETURN : rem 7
710 PRINT"ECLR] {RVS}*** SAVE *
**i3 DOWN)" : rem 236
715 PRINT" f 2 DOVftj) (PRESS { RVS )
RETURN (OFF) ALONE TO CANCE
L SAVE) (down}" :rem 106
720 F5="" : INPUT "[ DOWN} FILENAM
E"rF?:IFF5=""THENPRINT:PRI
NT:G0T0313 : rem 71
730 PRINT: PRINT" i 2 DOWN }{ RVS }T
{OFFJAPE or (RVS}DfOFF)lSK
J (T/D)" :rem 22B
740 GETA5:IFAS<>"T"ANDAS<>"D"T
iiEN74a :reni 36
750 DV=1-7*(A5="D") :IFDV=aTHEN
F$="0:"+F5:OPEN15,8,15, "S"
+F5:CL0SE15 : rem 212
760 T5=F?:ZK=PEEK{53)+256*PEEK
(54)-LEN(T$) :P0KE7a2,ZK/25
6 : rem 3
762 PQKE78I,ZK-PEEK(782)*256:P
OKE7e0 , LEN ( T5 ) : SYS65469
:rem 1B9
763 POKE780,1:POKE781,DV:POKE7
82,1 :SYS65466 : rem 69
755 K=S:POKE254,K/256:POKE253,
K-PEEK( 254) *256 :POKE780 ,25
3 : rem 17
766 K=E+1 :POKE782,K/256:POKE78
1,K-PEEK(782)*256:SYS65496
: rem 235
770 IFCPEEK(783)ANDl)OR(191AND
ST)THEN780 : rem 111
775 PRINT" EDOWNJDONE. {DO\rtl)":G
OTO310 : rem 113
780 PRINT" {DOVffli ERROR ON SAVE.
(2 SPACES )TRY AGAIN. ":IFDV
=1THEN720 :rem 171
781 OPEN15,8,15:INPUT#15,E15,E
25 rPRINTEl? ; E2? :CL0SEi5 :G0
TO720 :rem 103
790 PRINT"(CLR}{RVS]*** LOAD *
**(2 DOWN] " rrem 212
795 PRINT" [2 DOWN ]( PRESS ( RVS 1
RETURN (OFF) ALONE TO CANCE
L IJDAD)" :rem 82
800 F$="":INPUT"(2 DOWN) FILEN
AME" ; F5 : 1FF5=" "THENPRINT:G
OTO310 :rem 144
810 PRINT: PRINT" (2 iX3Vffi)(RVS)T
{off)ape or f RVS)D(0FF)IS1<
: (T/D)" irem 227
820 GETA$:IFA5<>"T"ANDA$<>"D"T
HEN82a :rem 34
830 DV=1-7*{A?="D") :IFDV=8THEN
F5="0:"+F5 :rem 157
840 T53F5:ZK=PEEK(53)+256*PEEK
(54)-LEN(T?) :POKE782,ZK/25
6 : rem 2
841 POKE78i,ZK-PEEK(782)*256:P
OKE780,LEN(T9) :SYS65469
: rem 107
845 POKE780,1:POKE781,DV:POKE7
82,1:SYS65466 :rem 70
850 POKE780,0:SYS65493 : rem 11
860 IF( PEEK( 783) AUDI ) 0R( 191AND
ST)THEN870 : rem 111
865 PRINT" {DOWNJDONE. '■:GOTO310
:rem 96
870 PRINT" (DOWN) ERROR ON LOAD.
(2 SPACES )TRY AGAIN. (DOWN)
":IFDV=1TMEN800 : rem 172
880 OPEN15,8, 15:INPUT#15,E15,E
25 !PRINTE1$; E2S :CL0SE15 :G0
TO800 :rem 102
1000 REM BUZZER : rem 135
1001 POKE54296,15:POKE54277,4S
:POKE54278, 165 :rem 207
1002 POKE54276,33:POKE 54273,6
:POKE54272,5 : rem 42
1003 FORT=1TO200:NEXT:POKE5427
6,32:POK£54273,0:POKE54 27
2,0:RETURN : rem 202
2000 REM BELL SOUND ; rem 73
2001 POKE54296,15:POKE54277,0:
POKE54278,247 :rem 152
2002 POKE 54276,17 :POKE54273, 4
0:POKE54272,0 :rem 86
2003 FORT=1TO100 :NEXT:POKE5427
6, 16: RETURN : rem 57
3000 PRINTC5;" (RVS)NOT ZERO PA
GE OR ROM":GOTO1000
: rem 39
Save Your
Copies of
COMPUTE!
Protect your back issues
of COMPUTE! in durable
binders or library cases,
Each binder or case is
custom-made in flag-blue
binding with embossed
white lettering. Each holds
a year of COMPUTE!. Or-
der several and keep
your issues of COMPUTE!
neatly organized for quick
reference. (These binders
make great gifts, tool)
Binders Cases:
$8.50 each; $6.95 each;
3 for $24.75; 3 for $20,00;
6 for $48.00 6 for $36.00
(Please add $2.50 per unit
for orders outside the U.S.)
Send in your prepaid order
with the attached coupon
Moil to: Jesse Jones Industries
P.O. Box 51 20
Dept. Code COTE
Philadeiphia. PA 19141
Please send me COM-
PUTE! n cases n binders.
Enclosed is my check or money
order for S (U.S. funds
only.)
Name
Address
City
state Zip
Satisfaction guaranteed or money
refunded.
Please allow 4-6 weeks for delivery.
12^ COMPUTEI April 1986
COMPUTEi's Guide
To Typing in Programs
Computers are precise — type the pro-
gram exactly as listed, including neces-
sary punctuation and symbols, except
for special characters noted below. We
have provided a special listing conven-
tion as vt'ell as a program to check your
typing — "The Automatic Proofreader."
Programs for the IBM, TI-99/4A,
and Atari ST models should be typed
exactly as listed; no special characters
are used. Programs for Commodore,
Apple, and Atari 400/800/XL/XE
computers may contain some hard-to-
read special characters, so we have a
listing system that indicates these con-
trol characters. You will find these
Commodore and Atari characters in
curly braces; do not type the braces. For
example, {CLEAR} or {CLR} instructs
you to insert the symbol which clears
the screen on the Atari or Commodore
machines. A complete list of these sjnm-
bois is shown in the tables below. For
Commodore, Apple, and Atari, a single
symbol by itself within curly braces is
usually a control key or graphics key. If
you see {A}, hold down the CONTROL
key and press A. This will produce a
reverse video character on the Commo-
dore (in quote mode), a graphics char-
acter on the Atari, and an invisible
control character on the Apple,
Graphics characters entered with
the Commodore logo key are enclosed
in a special bracket: f<A>]. In this case,
you would hold down the Commodore
logo key as you type A. Our Commo-
dore listings are in uppercase, so shifted
symbols are underlined. A graphics
heart symbol (SHIFT-S) would be listed
as S. One exception is {SHIFT-
SPACE}. When you see this, hold down
SHIFT and press the space bar. If a
number precedes a symbol, such as {5
RIGHT}, {6 S}, or f<8 Q>|, you would
enter five cursor rights, six shifted S's,
or eight Commodore-Q's. On the Atari,
Inverse characters (white on black)
should be entered with the inverse video
Atari 400/SOO/XL/XE
Ten you see
tCLEAR}
CUPJ
(DOWN}
{LEFT>
tRIQHT>
{BACK SJ
t DELETE)
{INSERT}
{DEL LINE}
{INS LINE}
{TAB>
CCLR TAB}
{SET TAB>
{BELL}
{ESCJ
Type
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
SHIFT <
CTRL -
CTRL =
CTRL +
CTRL (
DELETE
CTRL DELETE
CTRL INSERT
SHIFT DELETE
SHIFT INSERT
TAB
CTRL TAB
SHIFT TAB
CTRL 2
esc
See
f
*
U
U
□
a
a
a
Clear Screen
Cursor Up
Cursor Down
Cursor Left
Cursor Right
Backspace
Delete character
Insert character
Delete line
Insert line
TAB key
Clear tab
Set tab stop
Ring buzzer
Escape key
Commodore PET/CBIM/ VIC/64/ 1 28/ 1 6/ +4
WhenYbu
Read:
{CLR}
(HOME}
(UP)
(DOWN)
{LEFT}
(RIGHT)
(RVS)
{OFF}
(BLK)
{WHTj
(RED)
(CYN)
(PUR)
{GRN}
iBLU)
(YEL)
[shift
Press:
See:
CIR/HOME
CXR/HOME
SHIFT
SHUT
— CRSR-*
— CRSR— »
CTRL
: CTRL i
CTRL i
1 '
: CTRL
CTRL
CTRL
CTRL
CTRL
: (>
CTRL
7
CTRL
S
03
M
m
m
El
m
□
Q
S3
WhenYbu
Read:
§43
§5^
g6i
g7g
gag
( n )
{ F2)
{ B )
{ H t
{ F5 )
{ F6 }
{ F7 )
{ F8 )
4
Press:
COMMODORE
H
j COMMODORE 2 j
COMMODORE j 3 ]
COMMODORE 4
COMMODORE 5
I COMMODORE
j COMMODORE
COMMODORE
0
D
Eg
■I
n
fl
SHIFT i
«
(3
SHIFT
a
fs
SHIFT j
a
ij
April 1986 CXJMPUTEI 125
key (Atari logo key on 400/800 models),
Whenever more than two spaces
appear in a row, they are listed in a
special format. For example, (6
SPACES I means press the space bar six
times. Our Commodore listings never
leave a single space at the end of a line,
instead moving it to the next printed
line as {SPACE;.
Amiga program listings contain
only one special character, the left ar-
row (-) symbol. This character marks
the end of each program line. Wherever
vou see a left arrow, press RETURN or
move the cursor off the line to enter
that line into memory. Don't try to type
in the left arrow symbol; it's there only
as a marker to indicate where each pro-
gram line ends.
The Automatic Proofreader
Type in the appropriate program listed
below, then save it for future use. The
Commodore Proofreader works on the
Commodore 128, 64, Plus/4, 16, and
VlC-20. Don't omit any tines, even if
they contain unfamiliar commands or
you think they don't apply to vour com-
puter. When you run the program, it
installs a machine language program in
memory and erases its BASIC portion
automatically (so be sure to save sever-
al copies before running the program
for the first time). If you're using a
Commodore 128, Plus/4 or 16, do not
use any GRAPHIC commands while
the Proofreader is active. You should
disable the Commodore Proofreader
before running any other program. To
do this, either turn the computer off and
on or enter SYS 64738 (for the 64), SYS
6534! (128), SYS 64802 (VlC-20), or
SYS 65526 (Plus/4 or 16). To reenable
the Proofreader, reload the program
and run it as usual. Unlike the original
VIC/64 Proofreader, this version works
the same with disk or tape.
On the Atari, run the Proofreader
to activate it (the Proofreader remains
active in memory as a machine lan-
guage program); you must then enter
NEW to erase the BASIC loader. Press-
ing SYSTEM RESET deactivates the
Atari Proofreader; enter PRINT
USR(1536) to reenable it.
The .^pple Proofreader erases the
BASIC portion of itself after you run it,
leaving only the machine language por-
tion in memory. It works with either
DOS 3.3 or ProDOS. Disable the Apple
Proofreader by pressing CTRL-RESET
before running another BASIC program.
The IBM Proofreader is a BASIC
program that simulates the IBM BASIC
line editor, letting you enter, edit, list,
save, and load programs that you type.
Type RUN to activate. Be sure to leave
Caps Lock on, except when typing low-
ercase characters.
Once the Proofreader is active, try
typing in a line. As soon as you press
RETURN, either a hexadecimal number
(on the .Apple) or a pair of letters (on the
Commodore, Atari, or IBM) appears.
The number or pair of letters is called a
checksum.
Compare the value displayed on
the screen by the Proofreader with the
checksum printed in the program list-
ing in the magazine, The checksum is
given to the left of each line number.
Just type in the program a line at a time
(without the printed checksum), press
RETURN or Enter, and compare the
checksums. If they match, go on to the
next line. If not, check your typing;
you've made a mistake. Because of the
checksum method used, do not type
abbreviations, such as ? for PRINT. On
the Atari and Apple Proofreaders,
spaces are not counted as part of the
checksum, so be sure you type the right
number of spaces between quote
marks. The Atari Proofreader does not
check to see that you've typed the char-
acters in the right order, so if characters
are transposed, the checksum still
matches the listing. The Commodore
Proofreader catches transposition er-
rors and ignores spaces unless they're
enclosed in quotation marks. The IBM
Proofreader detects errors in spacing
and transposition,
IBM Proofreader Commands
Since the IBM Proofreader replaces the
computer's normal BASIC line editor, it
has to include many of the direct-mode
IBM BASIC commands. The syntax is
identical to IBM BASIC. Commands
simulated are LIST. LLIST, NEW,
FILES. SAVE, and LOAD. When listing
your program, press any key (except
Ctrl-Break) to stop the listing. If you
enter NEW, the Proofreader prompts
you to press Y to be especially sure you
mean yes.
Two new commands are BASIC
and CHECK. BASIC exits the Proof-
reader back to IBM BASIC, leaving the
Proofreader in memory. CHECK works
just like LIST, but shows the checksums
along with the listing. After you have
typed in a program, save it to disk.
Then exit the Proofreader with the
BASIC command, and load the pro-
gram as usual {this replaces the Proof-
reader in memory). You can now run
the program, but you may want to re-
save it to disk. This will shorten it on
disk and make it load faster, but it can
no longer be edited with the Proofread-
er. If you want to convert an existing
BASIC program to Proofreader format,
save it to disk with SAVE "filename" , A.
Program 1: Atari
Proofreader
Bij Charles Brannon, Program Editor
100 GRAPHICS 0
110 FOR 1=1536 TO 1700!ReA
D A:POKE I , A: CK = CK + A : N
EXT 1
120 IF CK<>19072 THEN ? " E
rror in DATA Statement
s. Check Typing. ":END
( 1536)
"Automatic Praofr
Ndm Act i vated . "
130
A = USR
140
? : ?
eader
150
END
160
DATA
3, 201
170
DATA
8, 243
180
DATA
6, 1S3
190
DATA
4,6,2
200
DATA
1,78,
210
DATA
, 105,
220
DATA
, 141,
230
DATA
238, 1
240
DATA
24, 24
250
DATA
46,8,
260
DATA
,240,
270
DATA
0,96,
280
DATA
145, 8
290
DATA
4,74,
300
DATA
165,2
310
DATA
8, 169
320
DATA
0, 96
104,160
,69,240
200, 200
, 96, 200
1S3, 26,
, 26, 3, 1
0, 189, 0
32,224,
208, 245
6, 169, i
79, 6, 2 4
1, 141,9
6, 173,5
96, 6, 16
0, 133,2
25,241,
244, 241
1 , 76, 20
0,0,0,0
201
155, 240
7,72,24
203, 133
72, 152,
72, 160,
8, 200, 1
208, 249
74, 74,2
161 . 160
03, 41 , 1
105. 161
,0, 133,
170,104
, 0, 185, 26,
,7
192, 34, 20
, 169,74
3, 200, 169,
62
228, 157, 7
16
, 169, 93, 14
. 141
:8
0
173, 4, 22
22B, 105,
;
03,96. 247,
93, 6
, 1 15, 241 , 1
'5,238
,0,32,62,2
13,201 , 32
■, 101
;, 203, 104, 4
72, 138
0, 169, 128,
92, 40
', 165, 203, 7
:4, 105
,3, 145,88,
5,2 4
, 200, 145,8
203, 104
, 168, 104, 4
Program 2: IBM Proofreader
By Charles Branmm, Program Editor
10 'Automatic Proofreader Vers
ion 3.0 (Lines 205,206 adde
d/190 deleted/ 470, 490 Chang
ed -from V2.0)
100 Din Lt (500) ,LNUM( 500) : COLD
R 0,7,7:KEY OFF:CLS: MAX=0:
LNUM(0) =65536!
110 ON ERROR OOTO 120:KEY 1S,C
HR*(41+CHR*(70) :0N KEY (15)
GDSUB 640: KEY (15) ON: (301
D 130
120 RESUME 130
130 DEF, SEG=S(H40:W=PEEK(8<H4A)
140 ON ERROR (30T0 650: PRINT: PR
INT"Praof reader Ready, "
130 LINE INPUT L*:Y=CSRLIN-INT
{LEN(L»)/W)-1:L0DATE Y, 1
160 DEF SE6=0:POKE 1050,30:POK:
E 1052,34:POKE 1054,0:POKE
1055, 79: POKE 1056, 13: POKE
1057, 28: LINE INPUT L*:DEF
SEB: IF LS="" THEN 150
170 IF LEFTS (LS, 1)=" " THEN LS
=MID$(L*,2) :GDTO 170
126 COMPUTEI April 1<596
1S0 IF VAL(LeFT*(L«,2) )=0 AND
MIDS(L*,3, 1)=" " THEN L*=M
ID»(LS,4)
200 IF fiSC{L*)>57 THEN 260 'no
line number, there-fore co
-mmand
205 BL=INBTR(L4, " ");IF BL=0 T
HEN BLS=LS:GOTO 206 ELSE B
L«=LEFT«{L*,BL-1)
206 LNUM=VflL(BL«) :TEXTS=HID«(L
«, LEN (STR* (LNUM) ) +1 )
210 IF TEXT*="" THEN GDSUB 540
!lF LNUM=LNUM(P) THEN GQSU
B 560: GOTO 1 S0 ELSE 150
220 CKSUM=0:FDR 1=1 TO LEN(L*)
: CKSUM= ( CKSUM+ASC ( M I D* { L» ,
I)>*I) AND 255: NEXT: LOCATE
Y, I:PRINT CHRt(65+CKSUM/l
6)+CHR*(63+(CKSUM AND 15))
+" "+L«
230 BOSUB 540: IF LNUM(P)=LNUM
THEN L$(P)=TE)(T*!GDTD 150
'replace line
240 BOSUB 5B0:GOTO 150 'insert
the line
260 TEXT*="":FOR 1=1 TO LEN(L4
) :A=ASC(HIDt(L»,I) ! : TEXTS=
TEXT*+CHR«(A+32t tA>96 AND
A<123) ):NEXT
270 DELIMITeR=INSTR(TEXT*, ■■ " )
sCOMMAND$=TEXT*: ARG$="": IF
DELIMITER THEN COI1t1AND«=L
EFTS (TEXT*, DELIMITER-1) : AR
G*=M1DS (TEXTS, DELIMITER+1 )
ELSE DEL1MITER=INSTR(TEXT
*,CHR$(34! ) : IF DELIMITER T
HEN CDMMflND*=LEFT*(TEXT*,D
ELIMITER-n : ARGS=MID«(TEXT
*, DELIMITER)
280 IF COHMANDS<>"LIST" THEN 4
10
290 OPEN "scrn:" FOR OUTPUT AS
4)1
300 IF flR6*="" THEN FIRST=0:P=
MAX- 1: GOTO 340
310 DELIMITER=INSTRtARGS, '■-■■):
IF DHLIMITER=0 THEN'LNUM=V
AL(ARG«):GOSUB 540:FIRST=P
;GOTD 340
320 FIRST=VAL (LEFTS (ARG«,DELln
ITER) ) :LAST=VAL(MID*(ARGS,
DELIttITER+1) )
330 LNUM=FIRST: BOSUB 540: FIRST
=P:LNUM=LAST:GOSUB 540: IF
P=0 THEN P=MAX-1
340 FOR X=FIR5T TO P:N«=MID*(S
TR*(LNUM(X) ! ,2)+" "
350 IF a<FLAe=0 THEN AS="":GOT
Q 370
360 CKSUM=0: A4=NS+LS(X) :FOR 1 =
1 TO LEN(AS) :CKSUM=<CKSUM+
A3C(MIDS(AS,I))tI) AND 255
:NeXT:AS=CHR*(65+CKSUM/16>
+CHR*(65+(CKSUM AND 15))+"
370 PRINT »1,AS+N*+L»(X)
380 IF INKEYSO"" THEN X=P
390 NEXT : CLOSE «1:CKFLAG=0
400 GOTO 130
410 IF COMMANDS="LLIST" THEN 0
PEN "Iptl:" FOR OUTPUT AS
«l:GQTO 300
420 IF COMMANDS--CHECK" THEN C
KFLA6=1:G0TD 290
430 IF COMMANDS<>"SftVE" THEN 4
50
440 GDSUB 600: OPEN ARGS FDR OU
TPUT AS «1:ARGS="":G0T0 30
0
450 IF EOMMANDS<>"LOAD" THEN 4
90
460 S0SU8 600: OPEN ARGS FOR IN
PUT AS #I:MAX=0:P-0
470 WHILE NOT EOFfl):LINE INPU
T #i,LS:BL=INSTR(LS, " " ) : B
L»=LEFT* (L*,BL-1) :LNUM(P>=
VAL(BLS) :LS(P)=MID*(LS,LEN
(STR*(VALCBL«) ) )+!) :P=P+1:
WEND
4B0 MAX=P:CLOSE ttl:GDTO 130
490 IF CDMMANDS="NEW" THEN INF
UT "Erase program - Are yo
u sure";L*:IF LEFTS (L*,i)=
"y" OR LEFT*(LS, 1)="Y" THE
N MAX=0 :LNUM(0) =65536 !: GOT
O 130: ELSE 130
500 IF COMMAN0S='-BASIC" THEN C
OLOR 7, 0,0: ON ERROR GOTO 0
:CLS:END
510 IF COMMANDSO-FILES" THEN
520
515 IF flRG$="" THEN flRG$=-flj"
ELSE SEL-1: GDSUB 600
517 FILES ARGS-GDTO 130
520 PRINT"Syntax error": GOTO 1
30
540 P=0; WHILE LNUM>LNUM(P) AND
P<MflX:P=P+l : WEND: RETURN
560 MAX=MAX-l:FOR X=P TO MAX:L
NUM { X > =LNUM ( X + 1 ) : L* ( X ) =LS (
X+1): NEXT: RETURN
530 MAX=MAX+1:FDR X=MAX TO P+1
STEP -1:LNUM(X)=LNUM(X-I)
: LS ( X) =LS ( X-l ) ; NEXT: LS (P) =
TEXTS: LNUM (P) =LNUM: RETURN
600 IF LEFTS (ARGS, 1)<>CHRS( 34)
THEN 520 ELSE ARGS=MID«(A
RES, 2)
610 IF RIBHTStARGS, 1)=CHRS(34)
THEN ARGS=LEFTStARG«,LEN(
ARGS ) - 1 )
620 IF SEL=0 AND INSTR ( ARGS, " .
")=0 THEN AR6S=ARG*+".BAS"
630 SEL=0: RETURN
640 CLOSE ttl :CKFLAG=0:PRINT"St
opped. ■■: RETURN 150
650 PRINT "Error #" ;ERR: RESUME
150
Program 3: Commodore
Proofreader
Bi/ Phillip Nelson, Assistnut Editor
10 VEC=PEEK(772)+2S6*PEEK(773)
:LO=43:HI=44
20 PRINT "AUTOMATIC PROOFREADE
R FOR ";:IF VEC=42364 THEN
I SPACE} PRINT "C-64"
30 IF VEC=50556 THEN PRINT "VI
C-20"
49 IF VEC=3515a THEN GRAPHIC C
LR:PRINT "PLUS/4 & 16"
50 IF VEC=I7165 THEN LO=45!HI=
46:GRAPH1G CLR:PRINT" 128 "
60 SA=(PEEK(LO)+256*PEEK(HI) )+
6:ADR=SA
70 FOR J=0 TO 166: READ BYT : POK
E ADR,BYT:ADR=ADR+I :C!iK=CHK
+BYT!NEXT
80 IF CHKO2057O THEN PRINT "*
ERROR* CHECK TYPING IN DATA
STATEMENTS": END
90 FOR J=l TO 5: READ RF,LF,HF:
RS=SA+RF:HB=INT(RB/256) : LB=
RS-(256*HB)
100 CHK=CHK+RF+LF+HF:POKE SA+L
F,LB:POKE SA+HF, HB :NEXT
110 IF CHK<> 22054 THEN PRINT "
*ERROR* RELOAD PROGRAM AMD
ISPACEjCHECK FINAL LINE": EN
D
120 POKE SA+149,PEEK( 772) :POKE
SA+150,PEEK(773)
130 IFVEC-17165 THEN POKE SA+
14, 22: POKE SA+18 , 23 : POKESA+
29,224 :POKESA+139,224
140 PRINT CHR5(147) rCHR5(17) r"
PROOFREADER ACTIVE": SYS SA
150 POKE HI,PEEK(HI)+1 :POKE (P
EEK(LO)+25d*PEEK(HI))-1,0:N
EW
160 DATA 120,169,73,141,4,3,16
9,3, 141,5,3
170 DATA 80,96,165,20,133,167,
165,21 ,133, 168, 169
180 DATA 0,141,0,255,162,31,18
1,199,157,227,3
190 DATA 202,16,248,169,19,32,
210,255,169,18,32
200 DATA 210,255,160,0, 132,180
,132,176,136,230,180
210 DATA 200,185,0,2,240,46,20
1,34,208,8,72
220 DATA 165,176,73,255,133,17
6,104,72,201,32,268
230 DATA 7,165,176,203,3,104,2
08,226, 104, 166, 180
240 DATA 24,165,167,121,0,2,13
3,167,165,168,105
250 DATA 0,133,163,202,208,239
,240,202, 165, 167,09
260 DATA 168,72,41,15,168,185,
211,3,32,210,255
270 DATA 104,74,74,74,74,168,1
85,211,3,32,210
280 DATA 255,162,31,189,227,3,
149,199,202,16,248
290 DATA 169,146,32,210,255,76
,86,137,65,66,67
300 DATA 68,69,70,71,7 2,74,75,
77,80,61,82,83,88
310 DATA 13,2,7,167,31,32,151,
116,117, 151,128,129,167,136
,137
Program 4: Apple
Proofreader
By Tim Victor, Editorial Prograt)nih'r
10 C = 0: FOR I = 76B TO 76B +
68: READ A: C = C + A: POKE I
,A: NEXT
20 IF C < > 7258 THEN PRINT "ER
ROR IN PROOFREADER DATA STAT
EMENTS": END
30 IF PEEK (190 » 256) < > 76 T
HEN POKE 56,0: POKE 57,3: CA
LL 1002: BOTD 50
40 PRINT CHRS (4) ; " IN»AS300"
50 POKE 34,0: HOME : POKE 34,1:
VTAB 2: PRINT "PROOFREADER
INSTALLED"
60 NEW
100 DATA 216,32,27,253,201,141
110 DATA 208, &0, 138,72, 169,0
120 DATA 72,139,255,1,201,160
130 DATA 240,8,104,10,125,255
140 DATA 1,105,0,72,202,200
130 DATA 238,104,170,41,15,9
160 DATA 48,201,58,144,2,233
170 DATA 57,141,1,4,138,74
180 DATA 74,74,74,41,15,9
190 DATA 48,201,58,144,2,233
200 DATA 57,141,0,4,104,170
210 DATA 169,141,96 ®
April 1986 COMPUTEI 127
THE AMAZING VOICE MASTER®
Speech and Music Processor
» Your computer can talk in your own
voice. Not a synthesizer but a true digitizer
that records your natural voice quality— and in
any language or accent. Words and phrases can
be expanded without limit from disk.
^ And it will understand what you say. a
real word recognizer for groups of 32 words or
phrases with unlimited expansion from disk
memory. Now you can have a two way conver-
sation with your computer!
Easy for the beginning programmer
with new BASIC commands. Machine language
programs and memory locations for the more
experienced software author.
Exciting Music Bonus lets you hum or
whistle to write and perform. Notes literally
scroll by as you hum! Your composition can be
edited, saved, and printed out. You don't have to
know one note from another in order to write
and compose!
Based upon new technologies Invented by COVOX. One low
price buys you ttie coinplete ayatem— even a voice controlled
black-jack game! In addition, you will receive a subscription lo
COVOX NEWS, a periodic newsletter about speecti tectinology,
applications, new products, up-dates, and user contributions.
You will never llnd a better value (or your computer,
UIM LY $09.9Q Includes all hardware and software.
For telephone demonstration or additional information, call
(503) 342-1271. FREE audio demo tape and brochure available.
Availablefromyourdealerorby mail. When ordering by mail add $4,00
shipping and handling ($10.00 for foreign, S6.00 Canada).
The Voice Master Is available lor the 064, C12B, at) Apple li'a, and Atari
800, 800XL and 130XE, Specify model when ordering.
) For Faster Service on Credit Card Orders only:
ORDER TOLL FREE 1-800-523-9230
COVOX INC. <»3) 342-1271
675-D Conger Street, Eugene, OR 97402
Telex 70601 7 (AV ALARM UD)
Advertisers Index:
Reodar Sarvie* Numbar/Adverllsw
102 Abacus Software
103 Abacus Software
104 Artificial Intelligence Research Group
105 Atari
C O.M.B- Direct Morlseling Coip
Commodore
1 OA CompuServe
ComputAbllity , ,
The Computer Book Club
Computer Direct
107 Computer Moil Order
Covpx he
108 Duplicoling Technolooies, Ine
109 Electronic Arts
1 10 Electronic Arts . ,
1 1 1 Elek-Tek, Inc
1I2EPYX
Halix Institute
1 IIJ&R Music world
1 14 Kvon Softwore
Lyco Computer
1 16 tvlerCyne Publishers. Inc
1 1 A 99/4A tJationai Assistance Group . . .
I^Rl Schools
I )7 Precision Dato Products
118 Professcr Jones
1 1 9 Puma
1 20 Quinsept, Inc
121 subLOGiC Corporation
122 Timeworks, Inc ,
123 Unltech
124 White House Computer
Pas*
. .. 37
...39
,,,71
24-25
... b?
.. . BC
1
...61
...27
54-57
14-15
.. 12B
,.. 18
. . . IFC
.. 2-3
...51
... 11
.. 118
. .. 29
...53
62-63
...66
.. lie
... 35
...88
.. 128
...19
...59
. . . IBC
..,.7
. . 118
. . 104
COMPUTEI CtassrfieOs
COMPUTE! Disk Subscription
COMPUTEI Subscription
COMPUTEI's Apple Applications Special
COMPUTEIs Elementory Amiga BASIC ood Elementary ST BASIC
COMPUTEI's IBM Books Collection
COMPUTEIs Kids ond the Atari ST ono Kfcis and the 128
COMPUTEIs Programmer's Guide
40 Great Flight Simulator Adventures ..,....,.,.
12s Machine Languoge for Beginners
. 120
..17
.,33
. 49
.. 4
..23
,.64
. 43
. . 9
. 13
^^y. Professional ..^y.
^I^ HANDICAPPING SYSTEMS "^^
• PRliSENTED BY PROFESSOR .lONES •
35zf
GLD. Thoroughbred "Gold" Edition'"
A Fuir 'eatjfea i^cFougnIJle□ analysis designeo 'c
1h.e fjtolessio^al ana Th.^ serious novice
S159,95 cornpiete
EGLD, Enhanced "Gold" Edition'*'
"Gold" Edition wilh cqrntJiete Maslfir Be|tor'* sySiem integrated anto the
same dslt This oowsffui pfogfam mil transfer all hofses and scofes to [he
be[ anaiy&s wth a s rigie koyssroke "
(Masrer Eeitor'" Ticiuclea] 5199.95 complete
GLTD. Limited '-Gold"'"
Enables Professional Handicappers to assign specii'C values to Ihe lacmg
vaiiaBies ;w/ feel are imponan! Cfcaie prog*am weigtii based on a panic jiar
lock and i^natune it (or maximum wm percentage fhispjogram is designed
lOr "eASg a( u^e" The us^r ne^s no prOgrammttlg fixfierience.
icontains Integrated Bettor '1 S299.95 coitipieio
^ ~ GD. Gold Dog Analysis^*' si 49.95
TheCWtrprotessionargteimoundanaiysis W'fU&gTaied Qpixd- Si 99.95
avaiiaB'e H^al evarLfaies ALL vafawes
Limiiod Version S299.95
y^
compete S159,95
w/fntegrat«3 Betto' S199.95
Limiea S2&9.95
MHH. Master Harness
Handicapper™
Prc'e^sional Ecftware oesjgned to ptcvide
a tnofough arnaV&'S ol ^It UOiler and pacer
«aces tn the Unsted States ana Canada.
Professor Pix Foolbair"
Gomp^eie STATISTICAL ANALYSIS an Data Base allowing ■ Oesignaiefl "
pruvtous games lo be evaiuaied Siatisucai Senes S99.95
w/Wrn-Los! Power Ratings S149.95
NBA. Basketbair^ nba S99.95 w/coiie^e Si29.g5
^'power ratings S149.95
LOT. Lottery Analysis'"
Slalislicai conpanson prog'am designed to detect subtle patterns <o win-
ning numbers and ^.gi[s Lottery (3-^ dhqil) S79.95
w^LottolMa* 99 D-9ii}S99.95
PC-3 Portable Computer (4k) w/choice cl Thorougfibfed Gray
fiouns or Trailer'' S249.95 (incJudss poriatjis computer S progtam ]
M-100 Portable (32k) WfcriOlceolTriCrOjignbred. Greyhcurrd. C
TtoriBr and Masler Bailor SS49.9S
(inciuoes pcnatJ'ie comouier and program ]
FREE CATALOG!
"Your BEST
BET in
handicapping
software..."
Reviewed by:
Whole Earth
Software Guide
Corona Data
Systems
Prof. Jones
1940 W. Stale
Boise, ID 63702
AMEX
48 HR. FREE
SHIPPING
WcALL
(208) 342-6939
TERMS: Fre* shipping
all sortwara. Add Se 00
fiardware/S6 00 C 0 D '
UPS B!ye S6 0(VOut ol
CcLrtr/ S9 00/10 ReS'-
dertjs ■J3,>/3 rtflflKs par-
sor^al checKs-Casrt price
only, add S'^-s Visa, MC.
AMEX Prices sutjjec! [o
change
A WORTHWHILE INVESTMENT
ArxiiT 0 ■^^ Jii? Databases Tistonl lifomxittor
COMPUIB
li Vour Tvon Am
4eed At Tou TMnkT
■todlp-h-lwi
htrOHMnedon U,
ne. AMfV, MM K,
{^4ar Modi*
AldriUrt tcroHvr
An totlHiMar'b
bar iaAc pn^Qriu
For toMdTcTt^ J-r
WsnTpieoHM*
You may have easily spent thousands on your computer.
Whiatever you spent, it was a wise and worthwtiile
investment! Now mal<e your computer even more valuable by
subscribing to Compute!, the leading magazine ot home,
educational and recreational computing.
1 Year/$24 :2Years/$45 "'1320
Name
Address
City
_State_
_Zip_
D Payment Enclosed D Bill Me Later G Check Here If Renewal
Please indicate the computer you use:
64D03
APPLE a 01
IBM DOS
ATARI a 02
TEX INS □ 06
VIC 20 n 04
OTHER_
For Foreign & Canadian Subscribers, please add $6 (U.S.) per year postage, g
BUSINESS REPLY MAIL
FIRST CLASS PERMIT NO. 7478 DES MOINES. IOWA
POSTAGE WILL BE PAID BY ADDRESSEE
COMPUTE!
PO BOX 10954
DES MOINES, IOWA 50347
NO POSTAGE
NECESSARY
IF MAILED
IN THE
UNITED STATES
COMPUTEl's Disk
YES! I want to save time and money. Please enter my quarterly subscription
to the following COMPUTEI Disk:
n Commodore D Apple D Atari G IBIVI
D Save 33% off the single issue D Save even more! 2 year subscription,
price, 1 year subscription, S39.95 S69.95
All Disk orders must be prepaid.
D Payment enclosed (check or money order)
^D Charge D MasterCard DVisa
Acct. No Exp. Date
Signature
Name
Address
City State Zip .
(Outside U.S. and Canada, add S9.00 peryear for shipping and handling.)
J1510
BUSINESS REPLY MAIL
FIRST CLASS PERMIT NO. 7551 DES MOINES, lA
POSTAGE WILL BE PAID BV ADDRESSEE
NO POSTAGE
NECESSARY
IF MAILED
IN THE
UNITED STATES
COMPUTEi'sDISK
P.O. BOX 10036
DES MOINES, [A 50347
COMPUTEI's APPLE APPLICATIONS SPECIAL
n COMPUTEI's Apple Applications
Special. Spring 1986 $3.95
(In U.S. add $1.00 shipping and handling
charges: outside U.S. add $2.00)
□ Componion Disk to COMPUTEI's
Apple Applications Special,
Spring 1986 $16.95
(Add $2.00 shipping and hondling charges)
To order, send in this card with your payment or coll toll-free 800-346-6767,
ALL ORDERS MUST BE PREPAID IN U.S. FUNDS. (in imv 212-867-8525.)
D Payment enclosed (check or money order).
D Charge: □ Visa D MasterCard
Account No.
Signature
Exp. DGte_
(Requiiedl
IRequirea wtien using credit card)
Name
Address.
City
(Please print)
State.
Zip.
AAC4a6
COMPUTEPs
APPLE APPLICATIONS SPECIAL
6th FLOOR SALES DEPARTMENT
825 Seventh Ave.
NewYork,N,Y, 10019
COMPUTEI'S
FREE Reader Information Service
Use these cards to request FREE information about tlie products ad-
vertised in tliis issue. Cieariy print or type your fuli name and address.
Only one card siiouid be used per person. Circie tlie numbers that
correspond to the l<ey number appearing in the advertisers index.
Send in the card and the advertisers wiil receive your inquiry. Al-
though every effort is made to insure that only advertisers wishing to
provide product information have reader service numbers, computei
cannot be responsible if advertisers do not provide literature to
readers.
Please use these cards only for subscribing or for requesting product
information. Editorial and customer service inquiries should be ad-
dressed to: COMPUTE!, P.O. Box 5406, Greensboro, NC 27403. Check
the expiration date on the card to insure proper handling.
Use these cards and ttiis address only for computei's Reader Infor-
mation Service. Do not send with payment in any form.
COMPUTE!
101 102 103 lOd 105 106 107 108 109 110 111 112 113 114 115 116 117
118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
135 136 137 138 139 140 141 142 143 144 146 146 147 148 149 ISO 151
152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
169 170 171 172 173 174 175 176 177 178 179 180 161 182 163 184 185
186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202
203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219
220 221 222 223 224 225 226 227 22S 229 230 231 232 233 234 235 236
237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253
Please let us know. Do you
D
270
D
272
D
274
D
D
278
D
280
Apple .
Atari _
plan to buy:
D
271
Commodore
IBM
TI-99/4A
Other
(specify model)
n
273
D
275
D
277
a
27')
D
281
Please print or type name and address.
Limit one card per person.
Name
Address
City
State/Province
Zip
Country
Phone
Please Include ZIP Code
Expkatlon Date 5/31/86
C0486
SUBSCRIBE TO COMPUTE!
My Computer Is:
01 n Apple 02 n Atari 03 D Commodore 64
M D VIC-20 05 D IBM 06 D T1-99/4A
99 D Other D Don't yet hove one.
For Fastest Service,
Call Our Toll-Free
US Ordef Line
In U call VaaO-532-1272
n $24.00 One Year US Subscription
D $45.00 Two Year US Subscription
Name
Address
City
State
Zip
D Payment Enclosed
Charge my: D VISA
Account No.
D Bill me
D MasterCard
D American Express
Expires /
■rtour subscnptlon will E^egJn wilh the next avajlable issue. Pleose allow d-6 weeks (or delivery of first issue Subscription prices Eul3|ect to
Change at ony lime. Oulslde ttie U.Sj*. please odd $6 for each suOscription- ,.._..„
J1510
Place
Stamp
Here
COMPUTE! Reader Service
P.O. Box 2141
Radnor, PA 1 9089
BUSINESS REPLY MAIL
FIRST CLASS PERMIT NO. 7478 DES MOINES, IOWA
POSTAGE WILL BE PAID BY ADDRESSEE
COMPUTE!
PO BOX 10954
DES MOINES, IOWA 50347
NO POSTAGE
NECESSARY
IF MAILED
IN THE
UNITED STATES
Flight Simulator li
Scenery DFsks
The Challenge of Accomplished Flight "^w*
With a realism comparable to (and in some ways even surpassing)
$100,000 aircraft flight simulators, Flight Simulator 11 includes full
flight instrumentation and avionics, and provides a full-color out-the-
window view. Instruments are arranged in the format standard to
modern aircraft. All the radios needed for !FR flight are included.
Front, rear, left, right, and diagonal views let you look in any direction.
Program features are clearly documented in a 96-page Pilot's Operat-
ing Handbook. ^Bii^^lil
For training in proper flight techniques. Flight Simulator II includes
another 9&-page instruction manual, compiled by two professional
flight instructors with over 8,000 hours flight time and 12,000 hours
of aviation teaching experience. You'll learn correct FAA-
recommended flight procedures, from basic aircraft control through
instrument approaches. To reward your accomplishments, the
manual even includes a section on aerobatic maneuvers.
The Realism and Beauty of Flight
Go sight-seeing over detailed, realistic United States ^np
scenery. High-speed graphic drivers provide an
animated out-the-window view in either day, dusk, or
night flying modes.
Flight Simulator II features over 80 airports in four
different scenery areas: New York, Chicago, Seattle,
and Los Angeles. Six additional Scenery Disks covering
the entire Western half of the United States are now
available in IBM and C64/1 28 disk formats.
Apple and Atari versions will be released soon. Each disk covers a
geographical region of the country in detail, and is very reasonably
priced.
The Pure Fun of "World War I Ace"
When you think you're ready, you can test your flying skills with the
"World War I Ace" aerial battle game. This game sends you on a
bombing run over heavily-defended enemy territory. Six enemy
fighters will attempt to engage you in combat as soon as war is
declared. Your aircraft can carry five bombs, and your machine guns
are loaded with i 00 rounds of ammunition.
See Your Dealer. Flight Simulator Jl is available on disk for the
Apple II, Atari XL/XE, and Commodore 64/128 computers for
$49.95. Scenery Disks for the C64 and IBM PC (Jet or Microsoft
Flight Simulator) are $ 1 9.95 each. A complete Western U.S. Scenery
six-disk set is also available for $99.95. For additional product or
ordering information, call (800) 637-4983. ■ '
Apple II I! 1 indemjrk 6( Apple Computer. Inc.
Atm XL and Xi arc trademarks of Atari Corp.
Commodore 61 md 1 2B arc trjdereurks of Commodore Electronics Lit),
IBM PC IS 1 rejiltered irjdeirvark of International BusinBJ Machines Corp.
Liiq[
^^^^^
LOGIC
713 Edgebrook Drive
Champaign IL 61820
(217) 359-8482 Tele»: 206995
Order Line: (800) 637-4983
fexceplin Illinois. Alaska andHawaTil
.,. AV-
I-
All you need to do this
{?
graph a spreadsheet
write a novel
fix an engine
compose a song
palnfo picture
your banking
learn to fly
organize o data base
tell a story
1
p.
.-'-'V
■ if
'■'?
■
HI
i
■
i
i
;
.■i
I
^
:
forecast sales
t
45 1985. Comrnooore Elecirortici limiTec
«• CP/M IS a regiUered rrodemorfc of Dtgrrol Rewotch. irx
* Apple n a registered rrademoflc of Appte Computer, inc
® i&M IS c legiiterea rrademoili of
tnternanonal Business Machines Corporaiion
i!s Commodore 6* li a regisiered rrodemart of Commodore Eiecrronic^. Ud
Wher^ if comes fo personal computers, you
want the smartest, at a price that mokes sense.
Thie nev^/ Commodore 128'" system has a
powerful 128K memory expandable by 512K.
An 80-column display and 64, 128 and CP/M®
modes for easy access to thousands of edu-
cational, business and home programs. And a
keyboard, with built-in numeric keypad, that
operates with little effort.
Or if the Commodore 128 is more machine
than you had in mind, you con pick up the
Commodore 64® The Commodore 64 is
our lower- priced model geared to more
fundamental, basic needs.
Discover personal computers thof
do more for you. At prices you've
been waiting for From the company
that sells more personal computers
■■ than IBM® or Apple®
■ft
COMMODORE 128 AND 64 PERSONAL COMPUTERS
A Higher Intelligence
:i